From 056f71f24cefaf88f2a93714c6678c03ed5f1e0e Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 02 七月 2021 16:54:33 +0800
Subject: [PATCH] fixed to adapt gcc-5.4 & glibc-2.25
---
src/defs.h | 34 +++++++++++++++++++++-------------
1 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/src/defs.h b/src/defs.h
index cc3dc02..ec41371 100644
--- a/src/defs.h
+++ b/src/defs.h
@@ -19,9 +19,11 @@
#ifndef DEFS_KP8LKGD0
#define DEFS_KP8LKGD0
+#include "robust.h"
#include <atomic>
#include <string>
+class ShmSocket;
typedef uint64_t MQId;
int64_t CalcAllocIndex(int64_t size);
@@ -35,11 +37,8 @@
struct CenterInfo {
MQInfo mq_center_;
MQInfo mq_bus_;
- MQInfo mq_init_;
MQInfo mq_sender_;
- std::atomic<MQId> mqid_;
- CenterInfo() :
- mqid_(100000) {}
+ robust::AtomicReqRep init_rr_;
};
const int kBHCenterPort = 24287;
@@ -49,19 +48,28 @@
class SharedMemory;
} // namespace bhome_shm
+using bhome_shm::SharedMemory;
+
std::string BHomeShmName();
-bhome_shm::SharedMemory &BHomeShm();
-CenterInfo *GetCenterInfo(bhome_shm::SharedMemory &shm);
-bool CenterInit(bhome_shm::SharedMemory &shm);
-bool GlobalInit(bhome_shm::SharedMemory &shm);
+SharedMemory &BHomeShm();
+CenterInfo *GetCenterInfo(SharedMemory &shm);
+ShmSocket &DefaultSender(SharedMemory &shm);
+
+MQId NewSession();
+bool CenterInit();
+bool GlobalInit(SharedMemory &shm);
typedef std::string Topic;
void SetLastError(const int ec, const std::string &msg);
void GetLastError(int &ec, std::string &msg);
-//TODO center can check shm for previous crash.
-const MQInfo &BHGlobalSenderAddress();
-const MQInfo &BHTopicCenterAddress();
-const MQInfo &BHTopicBusAddress();
-const MQInfo &BHCenterReplyAddress();
+const MQInfo &BHTopicCenterAddress(SharedMemory &shm);
+const MQInfo &BHTopicBusAddress(SharedMemory &shm);
+bool BHNodeInit(SharedMemory &shm, const int64_t request, int64_t &reply);
+void BHCenterHandleInit(SharedMemory &shm, std::function<int64_t(const int64_t)> const &onReq);
+
+// node mq is avail with in timeout; after that may get killed.
+int NodeTimeoutSec();
+
+std::string BHLogDir();
#endif // end of include guard: DEFS_KP8LKGD0
--
Gitblit v1.8.0