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;
|
|
|
// 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;
|
uint64 ssn_id = 5; // node mq id
|
bytes proc_id = 6;
|
bytes topic = 7; // for request route
|
}
|
|
|
enum MsgType {
|
kMsgTypeInvalid = 0;
|
kMsgTypeRawData = 1;
|
|
kMsgTypeCommonReply = 2;
|
|
kMsgTypeProcInit = 8;
|
kMsgTypeProcInitReply = 9;
|
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;
|
kMsgTypeUnregister = 26;
|
// kMsgTypeUnregisterReply = 27;
|
kMsgTypeQueryProc = 28;
|
kMsgTypeQueryProcReply = 29;
|
|
}
|
|
message MsgSubscribe {
|
MsgTopicList topics = 1;
|
}
|
message MsgUnsubscribe {
|
MsgTopicList topics = 1;
|
}
|
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;
|
}
|
}
|