syntax = "proto3";
|
option optimize_for = LITE_RUNTIME;
|
|
// import "google/protobuf/descriptor.proto";
|
import "bhome_msg_api.proto";
|
|
package bhome.msg;
|
|
|
// message format : head_len(4) + head(BHMsgHead) + body_len(4) + body(variable types)
|
|
message BHMsgHead {
|
bytes msg_id = 1;
|
repeated BHAddress route = 2; // for reply and proxy.
|
int64 timestamp = 3;
|
int32 type = 4;
|
bytes proc_id = 5;
|
bytes topic = 6; // for request route
|
}
|
|
message BHMsg { // deprecated
|
bytes msg_id = 1;
|
int64 timestamp = 2;
|
int32 type = 3;
|
repeated BHAddress route = 4; // for reply and proxy.
|
bytes body = 5;
|
}
|
|
enum MsgType {
|
kMsgTypeInvalid = 0;
|
kMsgTypeRawData = 1;
|
|
kMsgTypeCommonReply = 2;
|
|
kMsgTypeRegister= 10;
|
// kMsgTypeRegisterReply= 11;
|
kMsgTypeHeartbeat = 12;
|
// kMsgTypeHeartbeatReply = 13;
|
kMsgTypeQueryTopic = 14;
|
kMsgTypeQueryTopicReply = 15;
|
kMsgTypeRequestTopic = 16;
|
kMsgTypeRequestTopicReply = 17;
|
kMsgTypeRegisterRPC = 18;
|
// reply
|
|
kMsgTypePublish = 20;
|
// kMsgTypePublishReply = 21;
|
kMsgTypeSubscribe = 22;
|
// kMsgTypeSubscribeReply = 23;
|
kMsgTypeUnsubscribe = 24;
|
// kMsgTypeUnsubscribeReply = 25;
|
|
}
|
|
service TopicRPC {
|
rpc Query (MsgQueryTopic) returns (MsgQueryTopicReply);
|
rpc Request (MsgRequestTopic) returns (MsgQueryTopicReply);
|
}
|