/* * ===================================================================================== * * Filename: failed_msg.cpp * * Description: * * Version: 1.0 * Created: 2021年04月12日 16时10分53秒 * Revision: none * Compiler: gcc * * Author: Li Chao (), lichao@aiotlink.com * Organization: * * ===================================================================================== */ #include "failed_msg.h" FailedMsgQ::Func FailedMsgQ::PrepareSender(const std::string &remote, Msg msg) { msg.AddRef(); return [remote, msg](void *valid_sock) mutable { assert(valid_sock); ShmSocket &sock = *static_cast(valid_sock); DEFER1(msg.Release()); // Release() is not const, but it's safe to release. return sock.Send(remote.data(), msg); }; }