From 330f78f3334bcdcdb4cc2ab2dbf66604e0224d71 Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期五, 21 五月 2021 16:21:45 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/valib/bhshmq
---
src/proto.h | 36 +++++++++++++++++++++++++++---------
1 files changed, 27 insertions(+), 9 deletions(-)
diff --git a/src/proto.h b/src/proto.h
index 2057711..29ff290 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -19,23 +19,26 @@
#define PROTO_UA9UWKL1
#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);
@@ -45,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;
}
@@ -70,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