31 #include <tacopie/network/io_service.hpp> 32 #include <tacopie/network/tcp_socket.hpp> 33 #include <tacopie/utils/typedefs.hpp> 79 const std::string&
get_host(
void)
const;
94 void connect(
const std::string& host, std::uint32_t port, std::uint32_t timeout_msecs = 0);
101 void disconnect(
bool wait_for_removal =
false);
112 void call_disconnection_handler(
void);
223 const std::shared_ptr<tacopie::io_service>&
get_io_service(
void)
const;
247 void on_read_available(fd_t fd);
255 void on_write_available(fd_t fd);
261 void clear_read_requests(
void);
266 void clear_write_requests(
void);
277 async_read_callback_t process_read(
read_result& result);
287 async_write_callback_t process_write(
write_result& result);
294 std::shared_ptr<io_service> m_io_service;
304 std::atomic<bool> m_is_connected = ATOMIC_VAR_INIT(
false);
309 std::queue<read_request> m_read_requests;
313 std::queue<write_request> m_write_requests;
318 std::mutex m_read_requests_mtx;
322 std::mutex m_write_requests_mtx;
327 disconnection_handler_t m_disconnection_handler;
void connect(const std::string &host, std::uint32_t port, std::uint32_t timeout_msecs=0)
bool success
Definition: tcp_client.hpp:124
std::function< void(write_result &)> async_write_callback_t
Definition: tcp_client.hpp:158
void disconnect(bool wait_for_removal=false)
void async_read(const read_request &request)
std::size_t size
Definition: tcp_client.hpp:170
Definition: tcp_socket.hpp:38
bool is_connected(void) const
const std::shared_ptr< tacopie::io_service > & get_io_service(void) const
void set_on_disconnection_handler(const disconnection_handler_t &disconnection_handler)
Definition: tcp_client.hpp:120
std::uint32_t get_port(void) const
Definition: tcp_client.hpp:136
bool operator==(const tcp_client &rhs) const
Definition: io_service.hpp:48
bool operator!=(const tcp_client &rhs) const
bool success
Definition: tcp_client.hpp:140
std::vector< char > buffer
Definition: tcp_client.hpp:186
std::function< void()> disconnection_handler_t
Definition: tcp_client.hpp:231
std::function< void(read_result &)> async_read_callback_t
Definition: tcp_client.hpp:152
Definition: tcp_client.hpp:166
Definition: tcp_client.hpp:41
async_read_callback_t async_read_callback
Definition: tcp_client.hpp:174
tacopie::tcp_socket & get_socket(void)
std::vector< char > buffer
Definition: tcp_client.hpp:128
void async_write(const write_request &request)
tcp_client(void)
ctor & dtor
const std::string & get_host(void) const
tcp_client & operator=(const tcp_client &)=delete
assignment operator
std::size_t size
Definition: tcp_client.hpp:144
Definition: tcp_client.hpp:182
async_write_callback_t async_write_callback
Definition: tcp_client.hpp:190