From 3c2b6739208d961cf8b86460d7f05516d044960c Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期三, 31 三月 2021 19:13:42 +0800 Subject: [PATCH] add async recv suport; sync by waiting for async. --- src/msg.cpp | 21 ++++++++++++++++++++- 1 files changed, 20 insertions(+), 1 deletions(-) diff --git a/src/msg.cpp b/src/msg.cpp index 3a01240..41dd459 100644 --- a/src/msg.cpp +++ b/src/msg.cpp @@ -41,12 +41,22 @@ msg.add_route()->set_mq_id(&src_id, sizeof(src_id)); return msg; } +BHMsg MakeRequest(const MQId &src_id, const std::string &topic, const void *data, const size_t size) +{ + DataRequest req; + req.set_topic(topic); + req.set_data(data, size); + const std::string &body(req.SerializeAsString()); + return MakeRequest(src_id, body.data(), body.size()); +} BHMsg MakeReply(const void *data, const size_t size) { assert(data && size); BHMsg msg(InitMsg(kMsgTypeReply)); - msg.set_body(data, size); + DataReply reply; + reply.set_data(data, size); + msg.set_body(reply.SerializeAsString()); return msg; } @@ -77,6 +87,15 @@ return msg; } +BHMsg MakeQueryTopic(const std::string &topic) +{ + BHMsg msg(InitMsg(kMsgTypeQueryTopic)); + DataQueryTopic query; + query.set_topic(topic); + msg.set_body(query.SerializeAsString()); + return msg; +} + void *Pack(SharedMemory &shm, const BHMsg &msg) { uint32_t msg_size = msg.ByteSizeLong(); -- Gitblit v1.8.0