libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
|
A simple TCP/IP socket wrapper using boost::asio. More...
#include <socket_client_manager.hpp>
Public Types | |
using | socket_t = socket_wrapper< LkT > |
using | socket_priority = typename socket_t::socket_priority |
Public Member Functions | |
template<class ConnPol > | |
client_manager (std::size_t min_message_size, std::size_t max_message_size, unsigned short timeout, socket_priority priority, std::size_t incoming_cpu, ConnPol const &conn_pol) | |
Create a new connection to the specified TCP socket using the TCP/IP protocol. More... | |
template<class MsgT > | |
void | write (MsgT const &message) |
Write the whole message to the socket in one go. More... | |
template<class MsgT > | |
void | read (MsgT &dest) |
Read the whole message from the socket in one go. More... | |
template<class V , std::size_t SrcSz> | |
void | read (V(&dest)[SrcSz]) |
Read the whole message from the socket in one go. More... | |
void | stop () |
socket_t & | socket () noexcept(true) |
std::string | to_string () const noexcept(false) |
A simple TCP/IP socket wrapper using boost::asio.
Definition at line 30 of file socket_client_manager.hpp.
using jmmcg::LIBJMMCG_VER_NAMESPACE::socket::asio::client_manager< LkT >::socket_priority = typename socket_t::socket_priority |
Definition at line 33 of file socket_client_manager.hpp.
using jmmcg::LIBJMMCG_VER_NAMESPACE::socket::asio::client_manager< LkT >::socket_t = socket_wrapper<LkT> |
Definition at line 32 of file socket_client_manager.hpp.
|
inline |
Create a new connection to the specified TCP socket using the TCP/IP protocol.
min_message_size | The smallest size of message that shall be sent or received using the socket. |
max_message_size | The largest size of message that shall be sent or received using the socket. |
timeout | The linger timeout in seconds. |
conn_pol | The connection policy that may be applied to attempt to connect to the specified endpoint. |
Definition at line 25 of file socket_client_manager_impl.hpp.
|
inline |
Read the whole message from the socket in one go.
dest | The message will be placed into this buffer, which may be grown to accommodate the message. |
Definition at line 44 of file socket_client_manager_impl.hpp.
|
inline |
Read the whole message from the socket in one go.
dest | The message will be placed into this stack-based buffer, which must be sufficiently large to accommodate the message read, otherwise UB will result. |
Definition at line 50 of file socket_client_manager_impl.hpp.
|
inlinenoexcept |
Definition at line 71 of file socket_client_manager.hpp.
|
inline |
Definition at line 56 of file socket_client_manager_impl.hpp.
|
inlinenoexcept |
Definition at line 62 of file socket_client_manager_impl.hpp.
|
inline |
Write the whole message to the socket in one go.
message | The message to write, that must be as-if a POD. |
Definition at line 38 of file socket_client_manager_impl.hpp.