| | |
| | | syntax = "proto3"; |
| | | option optimize_for = LITE_RUNTIME; |
| | | option go_package="./bhome_msg"; |
| | | |
| | | // import "google/protobuf/descriptor.proto"; |
| | | import "bhome_msg_api.proto"; |
| | | import "error_msg.proto"; |
| | | |
| | | package bhome.msg; |
| | | package bhome_msg; |
| | | |
| | | |
| | | // message format : head_len(4) + head(BHMsgHead) + body_len(4) + body(variable types) |
| | |
| | | repeated BHAddress route = 2; // for reply and proxy. |
| | | int64 timestamp = 3; |
| | | int32 type = 4; |
| | | bytes proc_id = 5; |
| | | bytes topic = 6; // for request route |
| | | uint64 ssn_id = 5; // node mq id |
| | | bytes proc_id = 6; |
| | | bytes topic = 7; // for request route |
| | | BHAddress dest = 8; // other host |
| | | } |
| | | |
| | | message MsgRequest { |
| | | MsgType type = 1; |
| | | // oneof body; |
| | | } |
| | | |
| | | message MsgReply { |
| | | ErrorMsg err_msg = 1; |
| | | // oneof reply |
| | | } |
| | | |
| | | message BHMsgBody { |
| | | oneof reqrep { |
| | | MsgRequest request = 1; |
| | | MsgReply reply = 2; |
| | | } |
| | | } |
| | | |
| | | enum MsgType { |
| | | kMsgTypeInvalid = 0; |
| | |
| | | |
| | | kMsgTypeCommonReply = 2; |
| | | |
| | | kMsgTypeProcInit = 8; |
| | | kMsgTypeProcInitReply = 9; |
| | | kMsgTypeRegister= 10; |
| | | // kMsgTypeRegisterReply= 11; |
| | | kMsgTypeHeartbeat = 12; |
| | |
| | | // kMsgTypeSubscribeReply = 23; |
| | | kMsgTypeUnsubscribe = 24; |
| | | // kMsgTypeUnsubscribeReply = 25; |
| | | kMsgTypeUnregister = 26; |
| | | // kMsgTypeUnregisterReply = 27; |
| | | kMsgTypeQueryProc = 28; |
| | | kMsgTypeQueryProcReply = 29; |
| | | |
| | | } |
| | | |
| | | message MsgSubscribe { |
| | | MsgTopicList topics = 1; |
| | | bool network = 2; |
| | | } |
| | | message MsgUnsubscribe { |
| | | MsgTopicList topics = 1; |
| | | bool network = 2; |
| | | } |
| | | message MsgRegisterRPC { |
| | | MsgTopicList topics = 1; |
| | | } |
| | | |
| | | message MsgProcInit{ |
| | | int32 extra_mq_num = 1; |
| | | } // proc_id is in header. |
| | | |
| | | message MsgProcInitReply { |
| | | ErrorMsg errmsg = 1; |
| | | int32 proc_index = 2; |
| | | repeated BHAddress extra_mqs = 3; |
| | | } |
| | | |
| | | service TopicRPC { |
| | | rpc Query (MsgQueryTopic) returns (MsgQueryTopicReply); |
| | | rpc Request (MsgRequestTopic) returns (MsgQueryTopicReply); |
| | | } |
| | | |
| | | message MsgRequest { |
| | | // oneof body; |
| | | oneof request { |
| | | MsgRegister register = 1; |
| | | MsgRequestTopic topic_request = 2; |
| | | MsgQueryTopic topic_query = 3; |
| | | } |
| | | } |
| | | |
| | | message MsgReply { |
| | | ErrorMsg err_msg = 1; |
| | | // oneof reply |
| | | } |
| | | |
| | | message BHMsgBody { |
| | | oneof reqrep { |
| | | MsgRequest request = 1; |
| | | MsgReply reply = 2; |
| | | } |
| | | } |