Goby Underwater Autonomy Project
Series: 1.1, revision: 163, released on 2013-02-06 14:23:27 -0500
|
00001 // provides MessageFile 00002 import "goby/protobuf/xml_config.proto"; 00003 import "goby/protobuf/option_extensions.proto"; 00004 00005 package goby.acomms.protobuf; 00006 00007 enum QueueType 00008 { 00009 QUEUE_DCCL = 1; 00010 QUEUE_CCL = 2; 00011 }; 00012 00013 message QueueConfig 00014 { 00015 optional bool ack = 1 [default = true, (description)="Require acoustic acknowledgments of messages sent from this queue"]; 00016 optional uint32 blackout_time = 2 [default = 0, (description)="Time in seconds to ignore this queue after the last send from it."]; 00017 optional uint32 max_queue = 3 [default = 0, (description)="Maximum allowed messages in this queue (0 means infinity)."]; 00018 optional bool newest_first = 4 [default = true, (description)="true = FILO queue, false = FIFO queue"]; 00019 optional double value_base = 5 [default = 1, (description)="Base value (general importance) of the messages in this queue"]; 00020 optional uint32 ttl = 6 [default = 1800, (description)="Time to live in seconds; messages exceeding this time are discarded. Also factors into priority equation"]; 00021 optional QueueKey key = 7; 00022 required string name = 8 [(description)="Human readable name for this queue", (example)="Remus_State"]; 00023 optional string in_pubsub_var = 9 [(description)="Publish subscribe architecture variable for posting incoming data to", (example)="REMUS_STATE_RAW_IN"]; 00024 optional string out_pubsub_var = 10 [(description)="Publish subscribe architecture variable for fetching outgoing data from", (example)="REMUS_STATE_RAW_OUT"]; 00025 00026 } 00027 00028 message QueueKey 00029 { 00030 required QueueType type = 1 [default = QUEUE_DCCL, (description)="Type of messages in this queue"]; 00031 required uint32 id = 2 [(description)="DCCL ID for QUEUE_DCCL, CCL Identifier (first) byte for QUEUE_CCL", (example)="14"]; 00032 } 00033 00034 message QueueManagerConfig 00035 { 00036 optional int32 modem_id = 1 [(description)="Unique number 1-31 to identify this node", (example)="1"]; 00037 repeated MessageFile message_file = 2 [(description)="XML message file containing one or more DCCL message descriptions. Use for specifying DCCL queues."]; 00038 repeated QueueConfig queue = 3 [(description)="Use for specifying CCL queues; use message_file for DCCL queues."]; 00039 } 00040 00041 00042 message QueueSize 00043 { 00044 required QueueKey key = 1; 00045 required uint32 size = 2; 00046 } 00047 00048 message QueueFlush 00049 { 00050 required QueueKey key = 1; 00051 }