Goby Underwater Autonomy Project
Series: 1.1, revision: 163, released on 2013-02-06 14:23:27 -0500
|
00001 import "google/protobuf/descriptor.proto"; 00002 00003 package goby.core.proto; 00004 00005 // used to filter messages on their contents 00006 // instead of just type 00007 message Filter 00008 { 00009 required string key = 1; 00010 enum Operation 00011 { 00012 EQUAL = 1; // key == value 00013 NOT_EQUAL = 2; // key != value 00014 } 00015 required Operation operation = 2; 00016 required string value = 3; 00017 } 00018 00019 // encoded message payload 00020 // can carry any protobuf message 00021 message EmbeddedMessage 00022 { 00023 // encoded google protobuf message 00024 // optional if request is for subscription 00025 optional bytes body = 1; 00026 // type [Descriptor::full_name()] 00027 required string type = 2; 00028 // only required if desired for initial subscription 00029 optional Filter filter = 3; 00030 } 00031 00032 message Notification 00033 { 00034 enum NotificationType 00035 { 00036 HEARTBEAT = 1; 00037 CONNECT_REQUEST = 2; 00038 DISCONNECT_REQUEST = 3; 00039 CONNECTION_ACCEPTED = 4; 00040 CONNECTION_DENIED = 5; 00041 PUBLISH_REQUEST = 6; 00042 SUBSCRIBE_REQUEST = 7; 00043 } 00044 required NotificationType notification_type = 1; 00045 00046 // required for connection only 00047 optional string application_name = 2; 00048 00049 // used to inform gobyd of the google protobuf type used for a 00050 // given publish or subscribe request 00051 repeated .google.protobuf.FileDescriptorProto file_descriptor_proto = 3; 00052 00053 // information about the payload 00054 optional EmbeddedMessage embedded_msg = 4; 00055 00056 // human readable explanation of this message (usually 00057 // used to report error reasoning) 00058 optional string explanation = 5; 00059 } 00060