From 34cd75f77d0ca94dbdba4e6cc9451fe4d33e78b3 Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期三, 19 五月 2021 19:14:13 +0800 Subject: [PATCH] add api BHQueryProcs. --- src/defs.cpp | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/defs.cpp b/src/defs.cpp index 6e7a5fd..0d9efc1 100644 --- a/src/defs.cpp +++ b/src/defs.cpp @@ -104,7 +104,7 @@ // which node might crash inside and cause deadlock. bool CenterInit(bhome_shm::SharedMemory &shm) { - Mutex *mutex = shm.Create<Mutex>("shm_center_lock"); + Mutex *mutex = shm.FindOrCreate<Mutex>("shm_center_lock"); if (!mutex || !mutex->try_lock()) { return false; } @@ -132,7 +132,6 @@ InitMQ(info.mq_sender_, NextId()); InitMQ(info.mq_center_, NextId()); InitMQ(info.mq_bus_, NextId()); - InitMQ(info.mq_init_, NextId()); pmeta->tag_ = kCenterInfoTag; return true; @@ -144,7 +143,14 @@ const MQInfo &BHGlobalSenderAddress() { return GetCenterInfo(BHomeShm())->mq_sender_; } const MQInfo &BHTopicCenterAddress() { return GetCenterInfo(BHomeShm())->mq_center_; } const MQInfo &BHTopicBusAddress() { return GetCenterInfo(BHomeShm())->mq_bus_; } -const MQInfo &BHCenterReplyAddress() { return GetCenterInfo(BHomeShm())->mq_init_; } +bool BHNodeInit(const int64_t request, int64_t &reply) +{ + return GetCenterInfo(BHomeShm())->init_rr_.ClientRequest(request, reply); +} +void BHCenterHandleInit(std::function<int64_t(const int64_t)> const &onReq) +{ + GetCenterInfo(BHomeShm())->init_rr_.ServerProcess(onReq); +} int64_t CalcAllocIndex(int64_t size) { @@ -181,4 +187,6 @@ { ec = LastErrorStore().ec_; msg = LastErrorStore().msg_; -} \ No newline at end of file +} + +int NodeTimeoutSec() { return 60; } \ No newline at end of file -- Gitblit v1.8.0