From 993c556000a414011626770540678948f16eaa9e Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期三, 02 六月 2021 17:40:50 +0800 Subject: [PATCH] center restart with new shm; set center node ssn. --- src/topic_node.h | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/topic_node.h b/src/topic_node.h index 1bb3611..8c08fcf 100644 --- a/src/topic_node.h +++ b/src/topic_node.h @@ -19,7 +19,7 @@ #define TOPIC_NODE_YVKWA6TF #include "msg.h" -#include "socket.h" +#include "shm_socket.h" #include <atomic> #include <memory> #include <mutex> @@ -34,14 +34,17 @@ SharedMemory &shm_; ProcInfo info_; - SharedMemory &shm() { return shm_; } + SharedMemory &shm() const { return shm_; } + const MQInfo &CenterAddr() const { return BHTopicCenterAddress(shm()); } + const MQInfo &BusAddr() const { return BHTopicBusAddress(shm()); } public: - TopicNode(SharedMemory &shm); + TopicNode(SharedMemory &shm, MQId ssn_id = 0); ~TopicNode(); // topic node - bool Register(ProcInfo &proc, MsgCommonReply &reply_body, const int timeout_ms); + bool Register(ProcInfo &proc, MsgCommonReply &reply_body, const int timeout_ms) { return DoRegister(false, proc, reply_body, timeout_ms); } + bool DoRegister(const bool internal, ProcInfo &proc, MsgCommonReply &reply_body, const int timeout_ms); bool Unregister(ProcInfo &proc, MsgCommonReply &reply_body, const int timeout_ms); bool Heartbeat(ProcInfo &proc, MsgCommonReply &reply_body, const int timeout_ms); bool Heartbeat(const int timeout_ms); @@ -53,7 +56,8 @@ typedef std::function<void(void *src_info, std::string &client_proc_id, MsgRequestTopic &request)> ServerAsyncCB; bool ServerStart(ServerSyncCB const &cb, const int nworker = 2); bool ServerStart(ServerAsyncCB const &cb, const int nworker = 2); - bool ServerRegisterRPC(MsgTopicList &topics, MsgCommonReply &reply, const int timeout_ms); + bool ServerRegisterRPC(MsgTopicList &topics, MsgCommonReply &reply, const int timeout_ms) { return DoServerRegisterRPC(false, topics, reply, timeout_ms); } + bool DoServerRegisterRPC(const bool internal, MsgTopicList &topics, MsgCommonReply &reply, const int timeout_ms); bool ServerRecvRequest(void *&src_info, std::string &proc_id, MsgRequestTopic &request, const int timeout_ms); bool ServerSendReply(void *src_info, const MsgRequestTopicReply &reply); -- Gitblit v1.8.0