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

---
 src/proto.h |   35 ++++++++++++++++++++++++++---------
 1 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/src/proto.h b/src/proto.h
index fff19ac..29ff290 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -20,23 +20,25 @@
 
 #include "bhome_msg.pb.h"
 #include "bhome_msg_api.pb.h"
+#include <chrono>
 
-using namespace bhome::msg;
+using namespace bhome_msg;
 
 template <class Msg>
 struct MsgToType {
 };
 
-#define BHOME_MAP_MSG_AND_TYPE(mSG, tYPE)              \
-	template <>                                        \
-	struct MsgToType<mSG> {                            \
-		static const bhome::msg::MsgType value = tYPE; \
+#define BHOME_MAP_MSG_AND_TYPE(mSG, tYPE)  \
+	template <>                            \
+	struct MsgToType<mSG> {                \
+		static const MsgType value = tYPE; \
 	};
 
 #define BHOME_SIMPLE_MAP_MSG(name) BHOME_MAP_MSG_AND_TYPE(Msg##name, kMsgType##name)
 
 BHOME_SIMPLE_MAP_MSG(CommonReply);
 BHOME_SIMPLE_MAP_MSG(Register);
+BHOME_SIMPLE_MAP_MSG(Unregister);
 BHOME_SIMPLE_MAP_MSG(RegisterRPC);
 BHOME_SIMPLE_MAP_MSG(Heartbeat);
 BHOME_SIMPLE_MAP_MSG(QueryTopic);
@@ -46,12 +48,16 @@
 BHOME_SIMPLE_MAP_MSG(Publish);
 BHOME_SIMPLE_MAP_MSG(Subscribe);
 BHOME_SIMPLE_MAP_MSG(Unsubscribe);
+BHOME_SIMPLE_MAP_MSG(ProcInit);
+BHOME_SIMPLE_MAP_MSG(ProcInitReply);
+BHOME_SIMPLE_MAP_MSG(QueryProc);
+BHOME_SIMPLE_MAP_MSG(QueryProcReply);
 
 #undef BHOME_SIMPLE_MAP_MSG
 #undef BHOME_MAP_MSG_AND_TYPE
 
 template <class Msg>
-constexpr inline bhome::msg::MsgType GetType(const Msg &)
+constexpr inline MsgType GetType(const Msg &)
 {
 	return MsgToType<Msg>::value;
 }
@@ -71,9 +77,20 @@
 	SetError(*msg.mutable_errmsg(), err_code, err_str);
 	return msg;
 }
-
-BHMsgHead InitMsgHead(const MsgType type, const std::string &proc_id, const std::string &msgid);
-BHMsgHead InitMsgHead(const MsgType type, const std::string &proc_id);
+std::string NewMsgId();
+BHMsgHead InitMsgHead(const MsgType type, const std::string &proc_id, const uint64_t ssn_id, const std::string &msgid);
+BHMsgHead InitMsgHead(const MsgType type, const std::string &proc_id, const uint64_t ssn_id);
 // inline void AddRoute(BHMsgHead &head, const MQId &id) { head.add_route()->set_mq_id(&id, sizeof(id)); }
 inline bool IsSuccess(const ErrorCode ec) { return ec == eSuccess; }
+bool IsMsgExpired(const BHMsgHead &head);
+
+inline int64_t CountSeconds(const std::chrono::steady_clock::time_point tp)
+{
+	return std::chrono::duration_cast<std::chrono::seconds>(tp.time_since_epoch()).count();
+}
+inline int64_t NowSec()
+{
+	return CountSeconds(std::chrono::steady_clock::now());
+}
+
 #endif // end of include guard: PROTO_UA9UWKL1

--
Gitblit v1.8.0