mirror of
https://github.com/oxen-io/session-android.git
synced 2025-01-06 07:07:43 +00:00
0ace469d74
1) In addition to the Recipient interface, there is now RecipientDevice. A Recipient can have multiple corresponding RecipientDevices. All addressing is done to a Recipient, but crypto sessions and transport delivery are done to RecipientDevice. 2) The Push transport handles the discovery and session setup of additional Recipient devices. 3) Some internal rejiggering of Groups.
42 lines
1.0 KiB
Protocol Buffer
42 lines
1.0 KiB
Protocol Buffer
package textsecure;
|
|
|
|
option java_package = "org.whispersystems.textsecure.push";
|
|
option java_outer_classname = "PushMessageProtos";
|
|
|
|
message IncomingPushMessageSignal {
|
|
optional uint32 type = 1;
|
|
optional string source = 2;
|
|
optional uint32 sourceDevice = 7;
|
|
optional string relay = 3;
|
|
// repeated string destinations = 4; // No longer supported
|
|
optional uint64 timestamp = 5;
|
|
optional bytes message = 6; // Contains an encrypted PushMessageContent
|
|
}
|
|
|
|
message PushMessageContent {
|
|
message AttachmentPointer {
|
|
optional fixed64 id = 1;
|
|
optional string contentType = 2;
|
|
optional bytes key = 3;
|
|
}
|
|
|
|
message GroupContext {
|
|
enum Type {
|
|
UNKNOWN = 0;
|
|
CREATE = 1;
|
|
MODIFY = 2;
|
|
DELIVER = 3;
|
|
ADD = 4;
|
|
QUIT = 5;
|
|
}
|
|
optional bytes id = 1;
|
|
optional Type type = 2;
|
|
optional string name = 3;
|
|
repeated string members = 4;
|
|
optional AttachmentPointer avatar = 5;
|
|
}
|
|
|
|
optional string body = 1;
|
|
repeated AttachmentPointer attachments = 2;
|
|
optional GroupContext group = 3;
|
|
} |