From 777333ff834744ac5665fa9abe5ec6373d25cda8 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期三, 01 三月 2023 09:22:30 +0800 Subject: [PATCH] bug fixed ps_sub thread join --- cbhomeclient.cpp | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-) diff --git a/cbhomeclient.cpp b/cbhomeclient.cpp index b2d084a..0963c4b 100644 --- a/cbhomeclient.cpp +++ b/cbhomeclient.cpp @@ -10,6 +10,7 @@ #include "fixed_q.h" #include "3rdparty/bus_nng/interface_bus_api.h" +#include "3rdparty/bus_nng/bn_api.h" #include "bhome_msg.pb.h" @@ -332,7 +333,7 @@ return false; } -int bus_client_reply_msg(void* handle, void* src, const struct crepmsg* msg){ +int bus_client_reply(void* handle, void* src, const struct crepmsg* msg){ MsgRequestTopicReply msgR; auto err = msgR.mutable_errmsg(); @@ -355,7 +356,15 @@ void* rep = NULL; int repl = 0; auto msg = to_bus<4,5>(ptr(handle), bus_query_procs, pbaddr.data(), pbaddr.size(), - pbtopic.data(), pbtopic.size(), &rep, &repl, sndto); + pbtopic.data(), pbtopic.size(), &rep, &repl, sndto); + + if (msg.empty()) return NULL; + + // bug 宸蹭慨澶嶏紝 鍦� bus_nng 涓� + // bus_query_procs 鑾峰彇鏁版嵁澶辫触, 鏆傛椂鏀圭敤BHQueryProcs + // if (!BHQueryProcs(pbaddr.data(), pbaddr.size(), pbtopic.data(), pbtopic.size(), &rep, &repl, sndto)) { + // return NULL; + // } MsgQueryProcReply msgR; msgR.ParseFromArray(rep, repl); @@ -370,6 +379,7 @@ memcpy(id, p.proc().proc_id().data(), idl); procs[i] = cqueryprocs{ .id = id, .idl = idl, .online = p.online() }; } + return procs; } @@ -379,11 +389,11 @@ pbmsg.set_topic(topic, topicl); pbmsg.set_data(data, size); auto pbstr = pbmsg.SerializeAsString(); - return bus_client_pubmsg(handle, pbstr.data(), pbstr.size()); + return bus_client_publish_msg(handle, pbstr.data(), pbstr.size()); } // test -int bus_client_pubmsg(void* handle, const char* data, const size_t size){ +int bus_client_publish_msg(void* handle, const char* data, const size_t size){ client* cli = ptr(handle); return bus_publish(cli->bus, data, size, 100); } -- Gitblit v1.8.0