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 | 47 ++++++++++++++++++++++++++++++++++++-----------
1 files changed, 36 insertions(+), 11 deletions(-)
diff --git a/src/defs.h b/src/defs.h
index a95c81f..ec41371 100644
--- a/src/defs.h
+++ b/src/defs.h
@@ -19,18 +19,27 @@
#ifndef DEFS_KP8LKGD0
#define DEFS_KP8LKGD0
+#include "robust.h"
+#include <atomic>
#include <string>
+class ShmSocket;
typedef uint64_t MQId;
-const MQId kBHNodeInit = 10;
-const MQId kBHTopicCenter = 100;
-const MQId kBHTopicBus = 101;
-const MQId kBHUniCenter = 102;
-inline const MQId BHInitAddress() { return kBHNodeInit; }
-inline const MQId BHTopicCenterAddress() { return kBHTopicCenter; }
-inline const MQId BHTopicBusAddress() { return kBHTopicBus; }
-inline const MQId BHUniCenterAddress() { return kBHUniCenter; }
+int64_t CalcAllocIndex(int64_t size);
+int64_t GetAllocSize(int index);
+
+struct MQInfo {
+ MQId id_ = 0;
+ int64_t offset_ = 0;
+};
+
+struct CenterInfo {
+ MQInfo mq_center_;
+ MQInfo mq_bus_;
+ MQInfo mq_sender_;
+ robust::AtomicReqRep init_rr_;
+};
const int kBHCenterPort = 24287;
const char kTopicSep = '.';
@@ -39,12 +48,28 @@
class SharedMemory;
} // namespace bhome_shm
+using bhome_shm::SharedMemory;
+
std::string BHomeShmName();
-bhome_shm::SharedMemory &BHomeShm();
-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 &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