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