From 1f3729698a131b3f701f67adb6a1258aa1235dce Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期二, 20 四月 2021 15:43:53 +0800 Subject: [PATCH] api server callback change tag to src; refactor. --- src/bh_api.cpp | 29 +++-------------------------- 1 files changed, 3 insertions(+), 26 deletions(-) diff --git a/src/bh_api.cpp b/src/bh_api.cpp index 3844000..cdf2e96 100644 --- a/src/bh_api.cpp +++ b/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) -- Gitblit v1.8.0