2 import "google/protobuf/descriptor.proto";
4 package goby.common.protobuf;
6 // used to filter messages on their contents
7 // instead of just type
10 required string key = 1;
13 EQUAL = 1; // key == value
14 NOT_EQUAL = 2; // key != value
16 required Operation operation = 2;
17 required string value = 3;
20 // encoded message payload
21 // can carry any protobuf message
22 message EmbeddedMessage
24 // encoded google protobuf message
25 // optional if request is for subscription
26 optional bytes body = 1;
27 // type [Descriptor::full_name()]
28 required string type = 2;
29 // only required if desired for initial subscription
30 optional Filter filter = 3;
33 // message Notification
35 // enum NotificationType
38 // CONNECT_REQUEST = 2;
39 // DISCONNECT_REQUEST = 3;
40 // CONNECTION_ACCEPTED = 4;
41 // CONNECTION_DENIED = 5;
42 // PUBLISH_REQUEST = 6;
43 // SUBSCRIBE_REQUEST = 7;
45 // required NotificationType notification_type = 1;
47 // // required for connection only
48 // optional string application_name = 2;
50 // // used to inform gobyd of the google protobuf type used for a
51 // // given publish or subscribe request
52 // repeated .google.protobuf.FileDescriptorProto file_descriptor_proto = 3;
54 // // information about the payload
55 // optional EmbeddedMessage embedded_msg = 4;
57 // // human readable explanation of this message (usually
58 // // used to report error reasoning)
59 // optional string explanation = 5;