lichao
2021-05-21 b2484c8bd77a9d21bcf1827f554444535196953d
box/node_center.h
@@ -85,13 +85,14 @@
   struct NodeInfo {
      NodeCenter &center_;
      SharedMemory &shm_;
      ProcState state_;               // state
      std::map<MQId, int64_t> addrs_; // registered mqs
      ProcInfo proc_;                 //
      AddressTopics services_;        // address: topics
      AddressTopics subscriptions_;   // address: topics
      NodeInfo(NodeCenter &center) :
          center_(center) {}
      NodeInfo(NodeCenter &center, SharedMemory &shm) :
          center_(center), shm_(shm) {}
      void PutOffline(const int64_t offline_time);
      void UpdateState(const int64_t now, const int64_t offline_time, const int64_t kill_time);
   };
@@ -112,8 +113,8 @@
public:
   typedef std::set<TopicDest> Clients;
   NodeCenter(const std::string &id, const Cleaner &cleaner, const int64_t offline_time_sec, const int64_t kill_time_sec) :
       id_(id), cleaner_(cleaner), offline_time_(offline_time_sec), kill_time_(kill_time_sec), last_check_time_(0) {}
   NodeCenter(const std::string &id, const int64_t offline_time_sec, const int64_t kill_time_sec) :
       id_(id), offline_time_(offline_time_sec), kill_time_(kill_time_sec), last_check_time_(0) {}
   // center name, no relative to shm.
   const std::string &id() const { return id_; }
@@ -174,7 +175,7 @@
private:
   void CheckNodes();
   bool CanHeartbeat(const NodeInfo &node) { return Valid(node) || node.state_.flag_ == kStateOffline; }
   void Publish(const Topic &topic, const std::string &content);
   void Publish(SharedMemory &shm, const Topic &topic, const std::string &content);
   bool Valid(const NodeInfo &node) { return node.state_.flag_ == kStateNormal; }
   bool Valid(const WeakNode &weak)
   {
@@ -191,7 +192,6 @@
   ProcRecords procs_; // To get a short index for msg alloc.
   MsgRecords msgs_;   // record all msgs alloced.
   Cleaner cleaner_; // remove mqs.
   int64_t offline_time_;
   int64_t kill_time_;
   int64_t last_check_time_;