liuxiaolong
2021-07-20 d70afff273df67d0eb029ea16fa68a84faa9c200
proto/source/bhome_msg.proto
@@ -1,11 +1,12 @@
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)
@@ -15,26 +16,12 @@
   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;
@@ -42,6 +29,8 @@
   kMsgTypeCommonReply = 2;
   kMsgTypeProcInit = 8;
   kMsgTypeProcInitReply = 9;
   kMsgTypeRegister= 10;
   // kMsgTypeRegisterReply= 11;
   kMsgTypeHeartbeat = 12;
@@ -59,10 +48,57 @@
   // 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;
   }
}