From d70afff273df67d0eb029ea16fa68a84faa9c200 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期二, 20 七月 2021 19:26:50 +0800
Subject: [PATCH] 调整Request C.BHFree的位置

---
 proto/source/bhome_msg.proto |  134 ++++++++++++++++++++------------------------
 1 files changed, 61 insertions(+), 73 deletions(-)

diff --git a/proto/source/bhome_msg.proto b/proto/source/bhome_msg.proto
index 9827f17..b1f9772 100644
--- a/proto/source/bhome_msg.proto
+++ b/proto/source/bhome_msg.proto
@@ -1,54 +1,36 @@
 syntax = "proto3";
-
 option optimize_for = LITE_RUNTIME;
+option go_package="./bhome_msg";
 
-import "google/protobuf/descriptor.proto";
+// import "google/protobuf/descriptor.proto";
+import "bhome_msg_api.proto";
 import "error_msg.proto";
 
-package bhome.msg;
+package bhome_msg;
 
 
-// message format : header(BHMsgHead) + body(variable types)
-message BHAddress {
-	bytes mq_id = 1; // mqid, uuid
-	bytes ip = 2;   //
-	int32 port = 3;
-}
-
-message ProcInfo
-{
-	bytes id = 1; // serial number, maybe managed
-	bytes name = 2;
-	bytes public_info = 3;
-	bytes private_info = 4;
-}
+// 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;
-	ProcInfo proc = 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 BHMsgBody {
-	bytes data = 1;
-}
-
-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;
 
+	kMsgTypeProcInit = 8;
+	kMsgTypeProcInitReply = 9;
 	kMsgTypeRegister= 10;
 	// kMsgTypeRegisterReply= 11;
 	kMsgTypeHeartbeat = 12;
@@ -57,60 +39,66 @@
 	kMsgTypeQueryTopicReply = 15;
 	kMsgTypeRequestTopic = 16;
 	kMsgTypeRequestTopicReply = 17;
+	kMsgTypeRegisterRPC = 18;
+	// reply
 
-	kMsgTypePublish = 100;
-	// kMsgTypePublishReply = 101;
-	kMsgTypeSubscribe = 102;
-	// kMsgTypeSubscribeReply = 103;
-	kMsgTypeUnsubscribe = 104;
-	// kMsgTypeUnsubscribeReply = 105;
+	kMsgTypePublish = 20;
+	// kMsgTypePublishReply = 21;
+	kMsgTypeSubscribe = 22;
+	// kMsgTypeSubscribeReply = 23;
+	kMsgTypeUnsubscribe = 24;
+	// kMsgTypeUnsubscribeReply = 25;
+	kMsgTypeUnregister = 26;
+	// kMsgTypeUnregisterReply = 27;
+	kMsgTypeQueryProc = 28;
+	kMsgTypeQueryProcReply = 29;
 
 }
 
-message MsgPub {
-	bytes topic = 1;
-	bytes data = 2; 
+message MsgSubscribe {
+	MsgTopicList topics = 1;
+	bool network = 2;
+}
+message MsgUnsubscribe {
+	MsgTopicList topics = 1;
+	bool network = 2;
+}
+message MsgRegisterRPC {
+	MsgTopicList topics = 1;
 }
 
-message MsgSub {
-	repeated bytes topics = 1;
-}
+message MsgProcInit{ 
+	int32 extra_mq_num = 1;
+} // proc_id is in header.
 
-message MsgCommonReply {
+message MsgProcInitReply {
 	ErrorMsg errmsg = 1;
-}
-
-message MsgRequestTopic {
-	bytes topic = 1;
-	bytes data = 2; 
-}
-
-message MsgRequestTopicReply {
-	ErrorMsg errmsg = 1;
-	bytes data = 2; 
-}
-
-message MsgRegister
-{
-	ProcInfo proc = 1;
-	repeated bytes topics = 2;
-}
-
-message MsgHeartbeat
-{
-	ProcInfo proc = 1;
-}
-
-message MsgQueryTopic {
-	bytes topic = 1;
-}
-
-message MsgQueryTopicReply {
-	ErrorMsg errmsg = 1;
-	BHAddress address = 2;
+	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;
+	}
+}

--
Gitblit v1.8.0