/*
|
* =====================================================================================
|
*
|
* 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<ShmSocket *>(valid_sock);
|
DEFER1(msg.Release(sock.shm())); // Release() is not const, but it's safe to release.
|
return sock.Send(remote.data(), msg);
|
};
|
}
|