From 58e3540930d290b315fd24d0414c8feeb7bc8bc1 Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期日, 25 四月 2021 10:15:43 +0800 Subject: [PATCH] query topic add dest param. --- src/failed_msg.cpp | 13 ++++--------- 1 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/failed_msg.cpp b/src/failed_msg.cpp index 0b4c443..d8a3182 100644 --- a/src/failed_msg.cpp +++ b/src/failed_msg.cpp @@ -17,18 +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); - //TODO check remote removed. - 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