27 #ifndef UDPTYPEDSENDER 28 #define UDPTYPEDSENDER 75 size_t sendBufferSize = DEFAULT_UDP_BUF_SIZE)
77 ,
m_udpSender{ioContext, receiver, sendOption, sendBufferSize}
94 size_t sendBufferSize = DEFAULT_UDP_BUF_SIZE)
157 template <
typename T,
class A = serialize::archives::out_port_bin_t>
163 m_messageBuilder.template Build<T, A>(message, messageId, responseAddress));
188 #endif // UDPTYPEDSENDER UdpTypedSender()=delete
Default constructor - deleted.
UdpTypedSender & operator=(const UdpTypedSender &)=delete
Copy assignment operator - deleted.
eUdpOption
The udp options enumeration.
Definition: AsioDefines.h:98
defs::connection_t ReceiverConnection() const
Retrieve receiver connection details.
Definition: UdpTypedSender.h:114
~UdpTypedSender()=default
Default destructor.
bool SendMessage(const T &message, int32_t messageId, const defs::connection_t &responseAddress=defs::NULL_CONNECTION)
Send a full message to the server.
Definition: UdpTypedSender.h:158
UdpTypedSender(const defs::connection_t &receiver, const MsgBldr &messageBuilder, eUdpOption sendOption=eUdpOption::broadcast, size_t sendBufferSize=DEFAULT_UDP_BUF_SIZE)
Initialisation constructor.
Definition: UdpTypedSender.h:92
bool SendMessage(const defs::char_buffer_t &message)
Send a message buffer to the receiver.
Definition: UdpSender.cpp:68
defs::connection_t ReceiverConnection() const
Retrieve receiver connection details.
Definition: UdpSender.cpp:63
const MsgBldr & m_messageBuilder
Const reference to message builder object.
Definition: UdpTypedSender.h:179
The core_lib namespace.
Definition: AsioDefines.h:59
UdpTypedSender(boost_iocontext_t &ioContext, const defs::connection_t &receiver, const MsgBldr &messageBuilder, eUdpOption sendOption=eUdpOption::broadcast, size_t sendBufferSize=DEFAULT_UDP_BUF_SIZE)
Initialisation constructor.
Definition: UdpTypedSender.h:73
bool SendMessage(int32_t messageId, const defs::connection_t &responseAddress=defs::NULL_CONNECTION)
Send a header-only message to the receiver.
Definition: UdpTypedSender.h:126
bool SendMessage(const defs::char_buffer_t &message)
Send a message buffer to the receiver.
Definition: UdpTypedSender.h:170
UdpSender m_udpSender
Underlying UDP sender object.
Definition: UdpTypedSender.h:181
std::pair< std::string, uint16_t > connection_t
Typedef describing a network connection as (address, port).
Definition: AsioDefines.h:152
A generic UDP sender.
Definition: UdpTypedSender.h:55
boost_asio::io_context boost_iocontext_t
Boost IO context convenience typedef.
Definition: AsioDefines.h:46
std::mutex m_sendMutex
Send message mutex.
Definition: UdpTypedSender.h:177
File containing message utils declaration.
File containing UDP sender class declaration.
A general purpose UDP sender.
Definition: UdpSender.h:47
std::vector< char > char_buffer_t
Typedef to generic char buffer based on s std::vector<char>.
Definition: AsioDefines.h:239
bool SendMessage(const defs::char_buffer_t &message, int32_t messageId, const defs::connection_t &responseAddress=defs::NULL_CONNECTION)
Send a header plus message buffer to the receiver.
Definition: UdpTypedSender.h:141
const connection_t NULL_CONNECTION
Constant defining a null network connection as ("0.0.0.0", 0).