lichao
2021-05-19 34cd75f77d0ca94dbdba4e6cc9451fe4d33e78b3
src/defs.h
@@ -19,6 +19,7 @@
#ifndef DEFS_KP8LKGD0
#define DEFS_KP8LKGD0
#include "robust.h"
#include <atomic>
#include <string>
@@ -27,16 +28,16 @@
int64_t CalcAllocIndex(int64_t size);
int64_t GetAllocSize(int index);
struct CenterInfo {
   struct MQInfo {
      int64_t id_ = 0;
      int64_t offset_ = 0;
   };
struct MQInfo {
   MQId id_ = 0;
   int64_t offset_ = 0;
};
struct CenterInfo {
   MQInfo mq_center_;
   MQInfo mq_bus_;
   MQInfo mq_init_;
   MQInfo mq_sender_;
   robust::AtomicReqRep init_rr_;
   std::atomic<MQId> mqid_;
   CenterInfo() :
       mqid_(100000) {}
@@ -59,9 +60,13 @@
void GetLastError(int &ec, std::string &msg);
//TODO center can check shm for previous crash.
uint64_t BHGlobalSenderAddress();
uint64_t BHTopicCenterAddress();
uint64_t BHTopicBusAddress();
uint64_t BHCenterReplyAddress();
const MQInfo &BHGlobalSenderAddress();
const MQInfo &BHTopicCenterAddress();
const MQInfo &BHTopicBusAddress();
bool BHNodeInit(const int64_t request, int64_t &reply);
void BHCenterHandleInit(std::function<int64_t(const int64_t)> const &onReq);
// node mq is avail with in timeout; after that may get killed.
int NodeTimeoutSec();
#endif // end of include guard: DEFS_KP8LKGD0