lichao
2021-06-02 993c556000a414011626770540678948f16eaa9e
box/center_topic_node.cpp
@@ -29,7 +29,7 @@
namespace
{
const std::string &kTopicQueryProc = "@center_query_procs";
const std::string &kTopicQueryProc = "#center_query_procs";
std::string ToJson(const MsgQueryProcReply &qpr)
{
@@ -56,7 +56,7 @@
} // namespace
CenterTopicNode::CenterTopicNode(CenterPtr center, SharedMemory &shm) :
    pscenter_(center), pnode_(new TopicNode(shm)), run_(false) {}
    pscenter_(center), pnode_(new TopicNode(shm, 200)), run_(false) {}
CenterTopicNode::~CenterTopicNode() { Stop(); }
@@ -77,15 +77,18 @@
   MsgCommonReply reply;
   ProcInfo info;
   info.set_proc_id("#center.node");
   info.set_proc_id("@center.node");
   info.set_name("center node");
   if (!pnode_->UniRegister(true, info, reply, timeout)) {
   Json jinfo;
   jinfo.put("description", "some center services. Other nodes may use topics to use them.");
   info.set_public_info(jinfo.dump());
   if (!pnode_->DoRegister(true, info, reply, timeout)) {
      throw std::runtime_error("center node register failed.");
   }
   MsgTopicList topics;
   topics.add_topic_list(kTopicQueryProc);
   if (!pnode_->ServerRegisterRPC(topics, reply, timeout)) {
   if (!pnode_->DoServerRegisterRPC(true, topics, reply, timeout)) {
      throw std::runtime_error("center node register topics failed.");
   }
@@ -103,7 +106,7 @@
         *reply.mutable_errmsg() = data.errmsg();
         reply.set_data(ToJson(data));
      } else {
         SetError(*reply.mutable_errmsg(), eInvalidInput, "not supported topic" + request.topic());
         SetError(*reply.mutable_errmsg(), eInvalidInput, "invalid topic: " + request.topic());
      }
      pnode_->ServerSendReply(src_info, reply);
   };