lichao
2021-04-20 1f3729698a131b3f701f67adb6a1258aa1235dce
src/bh_api.cpp
@@ -246,31 +246,15 @@
   return ProcNode().ServerSendReply(src, rep);
}
int BHCleanUp()
{
   return 0;
}
namespace
{
typedef std::function<bool(const void *, const int)> ServerSender;
} // namespace
void BHStartWorker(FServerCallback server_cb, FSubDataCallback sub_cb, FClientCallback client_cb)
{
   TopicNode::ServerCB on_req;
   TopicNode::ServerAsyncCB on_req;
   TopicNode::SubDataCB on_sub;
   TopicNode::RequestResultCB on_reply;
   if (server_cb) {
      on_req = [server_cb](const std::string &proc_id, const MsgRequestTopic &request, MsgRequestTopicReply &reply) {
      on_req = [server_cb](void *src, std::string &proc_id, const MsgRequestTopic &request) {
         std::string sreq(request.SerializeAsString());
         bool r = false;
         ServerSender sender = [&](const void *p, const int len) {
            r = reply.ParseFromArray(p, len);
            return r;
         };
         server_cb(proc_id.data(), proc_id.size(), sreq.data(), sreq.size(), &sender);
         return r;
         server_cb(proc_id.data(), proc_id.size(), sreq.data(), sreq.size(), src);
      };
   }
   if (sub_cb) {
@@ -289,13 +273,6 @@
   }
   ProcNode().Start(on_req, on_sub, on_reply);
}
int BHServerCallbackReply(const void *tag,
                          const void *data,
                          const int data_len)
{
   auto &sender = *(const ServerSender *) (tag);
   return sender(data, data_len);
}
void BHFree(void *data, int size)