Asynchronous communication class for a TCP client. More...
#include <tcp_client.h>
Public Member Functions | |
TCPClient (std::string host=DEFAULT_HOST, uint16_t port=DEFAULT_PORT, MessageHandler &message_handler=default_message_handler_) | |
Connect to a TCP socket as a client. More... | |
~TCPClient () | |
Public Member Functions inherited from async_comm::Comm | |
void | close () |
Closes the port. More... | |
Comm (MessageHandler &message_handler=default_message_handler_) | |
Set up asynchronous communication base class. More... | |
bool | init () |
Initializes and opens the port. More... | |
void | register_listener (CommListener &listener) |
Register a listener for when bytes are received on the port. More... | |
void | register_receive_callback (std::function< void(const uint8_t *, size_t)> fun) |
Register a callback function for when bytes are received on the port. More... | |
void | send_byte (uint8_t data) |
Send a single byte over the port. More... | |
void | send_bytes (const uint8_t *src, size_t len) |
Send bytes from a buffer over the port. More... | |
virtual | ~Comm () |
Private Member Functions | |
void | do_async_read (const boost::asio::mutable_buffers_1 &buffer, boost::function< void(const boost::system::error_code &, size_t)> handler) override |
void | do_async_write (const boost::asio::const_buffers_1 &buffer, boost::function< void(const boost::system::error_code &, size_t)> handler) override |
void | do_close () override |
bool | do_init () override |
bool | is_open () override |
Private Attributes | |
boost::asio::ip::tcp::endpoint | endpoint_ |
std::string | host_ |
uint16_t | port_ |
boost::asio::ip::tcp::socket | socket_ |
Static Private Attributes | |
static constexpr auto | DEFAULT_HOST = "localhost" |
static constexpr uint16_t | DEFAULT_PORT = 16140 |
Additional Inherited Members | |
Protected Attributes inherited from async_comm::Comm | |
boost::asio::io_service | io_service_ |
MessageHandler & | message_handler_ |
Static Protected Attributes inherited from async_comm::Comm | |
static DefaultMessageHandler | default_message_handler_ |
static constexpr size_t | READ_BUFFER_SIZE = 1024 |
static constexpr size_t | WRITE_BUFFER_SIZE = 1024 |
Asynchronous communication class for a TCP client.
Definition at line 56 of file tcp_client.h.
async_comm::TCPClient::TCPClient | ( | std::string | host = DEFAULT_HOST , |
uint16_t | port = DEFAULT_PORT , |
||
MessageHandler & | message_handler = default_message_handler_ |
||
) |
Connect to a TCP socket as a client.
host | The host where the TCP server is running |
port | The port on which the TCP server is listening |
message_handler | Custom message handler, or omit for default handler |
Definition at line 47 of file tcp_client.cpp.
async_comm::TCPClient::~TCPClient | ( | ) |
Definition at line 55 of file tcp_client.cpp.
|
overrideprivatevirtual |
Implements async_comm::Comm.
Definition at line 95 of file tcp_client.cpp.
|
overrideprivatevirtual |
Implements async_comm::Comm.
Definition at line 101 of file tcp_client.cpp.
|
overrideprivatevirtual |
Implements async_comm::Comm.
Definition at line 90 of file tcp_client.cpp.
|
overrideprivatevirtual |
Implements async_comm::Comm.
Definition at line 65 of file tcp_client.cpp.
|
overrideprivatevirtual |
Implements async_comm::Comm.
Definition at line 60 of file tcp_client.cpp.
|
staticprivate |
Definition at line 70 of file tcp_client.h.
|
staticprivate |
Definition at line 71 of file tcp_client.h.
|
private |
Definition at line 85 of file tcp_client.h.
|
private |
Definition at line 81 of file tcp_client.h.
|
private |
Definition at line 82 of file tcp_client.h.
|
private |
Definition at line 84 of file tcp_client.h.