| | |
| | | assert(data && size); |
| | | BHMsg msg(InitMsg(kMsgTypeRequest)); |
| | | msg.set_body(data, size); |
| | | BHAddress addr; |
| | | msg.add_route()->set_mq_id(&src_id, sizeof(src_id)); |
| | | return msg; |
| | | } |
| | |
| | | return msg; |
| | | } |
| | | |
| | | BHMsg MakeSubUnsub(const std::vector<std::string> &topics, const MsgType sub_unsub) |
| | | BHMsg MakeSubUnsub(const MQId &client, const std::vector<std::string> &topics, const MsgType sub_unsub) |
| | | { |
| | | assert(sub_unsub == kMsgTypeSubscribe || sub_unsub == kMsgTypeUnsubscribe); |
| | | BHMsg msg(InitMsg(sub_unsub)); |
| | | msg.add_route()->set_mq_id(&client, sizeof(client)); |
| | | DataSub subs; |
| | | for (auto &t : topics) { |
| | | subs.add_topics(t); |
| | |
| | | return msg; |
| | | } |
| | | |
| | | BHMsg MakeSub(const std::vector<std::string> &topics) { return MakeSubUnsub(topics, kMsgTypeSubscribe); } |
| | | BHMsg MakeUnsub(const std::vector<std::string> &topics) { return MakeSubUnsub(topics, kMsgTypeUnsubscribe); } |
| | | BHMsg MakeSub(const MQId &client, const std::vector<std::string> &topics) { return MakeSubUnsub(client, topics, kMsgTypeSubscribe); } |
| | | BHMsg MakeUnsub(const MQId &client, const std::vector<std::string> &topics) { return MakeSubUnsub(client, topics, kMsgTypeUnsubscribe); } |
| | | |
| | | BHMsg MakePub(const std::string &topic, const void *data, const size_t size) |
| | | { |