From 65a230ec6ccb61c3ce6816730da2106f07f40b4a Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期五, 23 四月 2021 18:42:41 +0800 Subject: [PATCH] add api, Unregister, QueryTopicAddress. --- src/failed_msg.cpp | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/failed_msg.cpp b/src/failed_msg.cpp index ab4658d..d8a3182 100644 --- a/src/failed_msg.cpp +++ b/src/failed_msg.cpp @@ -17,17 +17,13 @@ */ #include "failed_msg.h" -FailedMsgQ::Func FailedMsgQ::PrepareSender(const std::string &remote, Msg const &msg) +FailedMsgQ::Func FailedMsgQ::PrepareSender(const std::string &remote, Msg msg) { msg.AddRef(); - return [remote, msg](void *valid_sock) { + return [remote, msg](void *valid_sock) mutable { assert(valid_sock); ShmSocket &sock = *static_cast<ShmSocket *>(valid_sock); - bool r = sock.Send(remote.data(), msg, 0); - if (r && msg.IsCounted()) { - auto tmp = msg; // Release() is not const, but it's safe to release. - tmp.Release(sock.shm()); - } - return r; + DEFER1(msg.Release()); // Release() is not const, but it's safe to release. + return sock.Send(remote.data(), msg); }; } \ No newline at end of file -- Gitblit v1.8.0