From 64bff0caaf665c65125cdab2b144f3594d520002 Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期二, 20 四月 2021 18:39:52 +0800 Subject: [PATCH] go api works. refactor. --- proto/source/bhome_msg.proto | 98 +++++++++++++++++++++++++++++++----------------- 1 files changed, 63 insertions(+), 35 deletions(-) diff --git a/proto/source/bhome_msg.proto b/proto/source/bhome_msg.proto index a88780b..aabe372 100644 --- a/proto/source/bhome_msg.proto +++ b/proto/source/bhome_msg.proto @@ -1,56 +1,84 @@ syntax = "proto3"; - option optimize_for = LITE_RUNTIME; +option go_package="./bhome_msg"; -package bhome.msg; +// import "google/protobuf/descriptor.proto"; +import "bhome_msg_api.proto"; +import "error_msg.proto"; -message BHAddress { - bytes mq_id = 1; // mqid, uuid - bytes ip = 2; // - int32 port = 3; -} +package bhome_msg; -message BHMsg { + +// message format : head_len(4) + head(BHMsgHead) + body_len(4) + body(variable types) + +message BHMsgHead { bytes msg_id = 1; - int64 timestamp = 2; - int32 type = 3; - repeated BHAddress route = 4; // for reply and proxy. - bytes body = 5; + repeated BHAddress route = 2; // for reply and proxy. + int64 timestamp = 3; + int32 type = 4; + bytes proc_id = 5; + bytes topic = 6; // for request route } + enum MsgType { kMsgTypeInvalid = 0; - kMsgTypeRequest = 1; - kMsgTypeReply = 2; - kMsgTypePublish = 3; - kMsgTypeSubscribe = 4; - kMsgTypeUnsubscribe = 5; - kMsgTypeQueryTopic = 6; - kMsgTypeQueryTopicReply = 7; + 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; + } -message DataPub { - bytes topic = 1; - bytes data = 2; +message MsgSubscribe { + MsgTopicList topics = 1; +} +message MsgUnsubscribe { + MsgTopicList topics = 1; +} +message MsgRegisterRPC { + MsgTopicList topics = 1; } -message DataSub { - repeated bytes topics = 1; +service TopicRPC { + rpc Query (MsgQueryTopic) returns (MsgQueryTopicReply); + rpc Request (MsgRequestTopic) returns (MsgQueryTopicReply); } -message DataRequest { - bytes topic = 1; - bytes data = 2; +message MsgRequest { + // oneof body; + oneof request { + MsgRegister register = 1; + MsgRequestTopic topic_request = 2; + MsgQueryTopic topic_query = 3; + } } -message DataReply { - bytes data = 1; +message MsgReply { + ErrorMsg err_msg = 1; + // oneof reply } -message DataQueryTopic { - bytes topic = 1; -} - -message DataQueryTopicReply { - BHAddress address = 1; +message BHMsgBody { + oneof reqrep { + MsgRequest request = 1; + MsgReply reply = 2; + } } -- Gitblit v1.8.0