Async 1.7.0
|
A class for creating a TCP client connection. More...
#include <AsyncTcpClient.h>
Public Member Functions | |
TcpClient (size_t recv_buf_len=ConT::DEFAULT_RECV_BUF_LEN) | |
Constructor. | |
TcpClient (const std::string &remote_host, uint16_t remote_port, size_t recv_buf_len=ConT::DEFAULT_RECV_BUF_LEN) | |
Constructor. | |
TcpClient (const IpAddress &remote_ip, uint16_t remote_port, size_t recv_buf_len=ConT::DEFAULT_RECV_BUF_LEN) | |
Constructor. | |
~TcpClient (void) | |
Destructor. | |
virtual void | disconnect (void) override |
Disconnect from the remote host. | |
bool | isIdle (void) const |
Check if the connection is idle. | |
Public Member Functions inherited from Async::TcpConnection | |
TcpConnection (size_t recv_buf_len=DEFAULT_RECV_BUF_LEN) | |
Constructor. | |
TcpConnection (int sock, const IpAddress &remote_addr, uint16_t remote_port, size_t recv_buf_len=DEFAULT_RECV_BUF_LEN) | |
Constructor. | |
virtual | ~TcpConnection (void) |
Destructor. | |
virtual TcpConnection & | operator= (TcpConnection &&other) |
Move assignmnt operator. | |
void | setRecvBufLen (size_t recv_buf_len) |
Set a new receive buffer size. | |
virtual int | write (const void *buf, int count) |
Write data to the TCP connection. | |
const IpAddress & | remoteHost (void) const |
Return the IP-address of the remote host. | |
uint16_t | remotePort (void) const |
Return the remote port used. | |
bool | isConnected (void) const |
Check if the connection is established or not. | |
bool | isIdle (void) const |
Check if the connection is idle. | |
Public Member Functions inherited from Async::TcpClientBase | |
TcpClientBase (TcpConnection *con) | |
Constructor. | |
TcpClientBase (TcpConnection *con, const std::string &remote_host, uint16_t remote_port) | |
Constructor. | |
TcpClientBase (TcpConnection *con, const IpAddress &remote_ip, uint16_t remote_port) | |
Constructor. | |
virtual | ~TcpClientBase (void) |
Destructor. | |
std::string | remoteHostName (void) const |
Get the name of the remote host as given to connect() | |
void | setBindIp (const IpAddress &bind_ip) |
Bind to the interface having the specified IP address. | |
const IpAddress & | bindIp (void) const |
Get the bind IP address. | |
void | connect (const std::string &remote_host, uint16_t remote_port) |
Connect to the remote host. | |
void | connect (const Async::IpAddress &remote_ip, uint16_t remote_port) |
Connect to the remote host. | |
void | connect (void) |
Connect to the remote host. | |
bool | isIdle (void) const |
Check if the connection is idle. | |
TcpConnection * | conObj (void) |
Return the connection object for this client connection. |
Protected Member Functions | |
virtual void | closeConnection (void) override |
Disconnect from the remote peer. | |
virtual TcpClientBase & | operator= (TcpClientBase &&other) |
Move assignmnt operator. | |
Protected Member Functions inherited from Async::TcpConnection | |
void | setSocket (int sock) |
Setup information about the connection. | |
void | setRemoteAddr (const IpAddress &remote_addr) |
Setup information about the connection. | |
void | setRemotePort (uint16_t remote_port) |
Setup information about the connection. | |
int | socket (void) const |
Return the socket file descriptor. | |
virtual void | onDisconnected (DisconnectReason reason) |
Called when a connection has been terminated. | |
virtual int | onDataReceived (void *buf, int count) |
Called when data has been received on the connection. | |
virtual void | emitDisconnected (DisconnectReason reason) |
Emit the disconnected signal. | |
Protected Member Functions inherited from Async::TcpClientBase | |
virtual void | connectionEstablished (void) |
Called when the connection has been established to the server. | |
virtual void | emitConnected (void) |
Additional Inherited Members | |
Public Types inherited from Async::TcpConnection | |
enum | DisconnectReason { DR_HOST_NOT_FOUND , DR_REMOTE_DISCONNECTED , DR_SYSTEM_ERROR , DR_RECV_BUFFER_OVERFLOW , DR_ORDERED_DISCONNECT , DR_PROTOCOL_ERROR , DR_SWITCH_PEER , DR_BAD_STATE } |
Reason code for disconnects. More... | |
Static Public Member Functions inherited from Async::TcpConnection | |
static const char * | disconnectReasonStr (DisconnectReason reason) |
Translate disconnect reason to a string. | |
Public Attributes inherited from Async::TcpConnection | |
sigc::signal< void, TcpConnection *, DisconnectReason > | disconnected |
A signal that is emitted when a connection has been terminated. | |
sigc::signal< int, TcpConnection *, void *, int > | dataReceived |
A signal that is emitted when data has been received on the connection. | |
sigc::signal< void, bool > | sendBufferFull |
A signal that is emitted when the send buffer status changes. | |
Public Attributes inherited from Async::TcpClientBase | |
sigc::signal< void > | connected |
A signal that is emitted when a connection has been established. | |
Static Public Attributes inherited from Async::TcpConnection | |
static const int | DEFAULT_RECV_BUF_LEN = 1024 |
The default length of the reception buffer. |
A class for creating a TCP client connection.
This class is used to create a TCP client connection. All details of how to create the connection is hidden inside the class. This make it very easy to create and use the connections. An example usage is shown below.
Definition at line 131 of file AsyncTcpClient.h.
|
inlineexplicit |
Constructor.
recv_buf_len | The length of the receiver buffer to use |
The object will be constructed and variables will be initialized but no connection will be created until the connect function (see TcpClient::connect) is called. When using this variant of the constructor the connect method which take host and port must be used.
Definition at line 144 of file AsyncTcpClient.h.
References Async::TcpConnection::TcpClientBase.
|
inline |
Constructor.
remote_host | The hostname of the remote host |
remote_port | The port on the remote host to connect to |
recv_buf_len | The length of the receiver buffer to use |
The object will be constructed and variables will be initialized but no connection will be created until the connect function (see TcpClient::connect) is called.
Definition at line 159 of file AsyncTcpClient.h.
References Async::TcpConnection::TcpClientBase.
|
inline |
Constructor.
remote_ip | The IP address of the remote host |
remote_port | The port on the remote host to connect to |
recv_buf_len | The length of the receiver buffer to use |
The object will be constructed and variables will be initialized but no connection will be created until the connect function (see TcpClient::connect) is called.
Definition at line 175 of file AsyncTcpClient.h.
References Async::TcpConnection::TcpClientBase.
|
inline |
Destructor.
Definition at line 184 of file AsyncTcpClient.h.
|
inlineoverrideprotectedvirtual |
Disconnect from the remote peer.
This function is used internally to close the connection to the remote peer.
Reimplemented from Async::TcpConnection.
Definition at line 213 of file AsyncTcpClient.h.
References Async::TcpClientBase::closeConnection().
Referenced by disconnect().
|
inlineoverridevirtual |
Disconnect from the remote host.
Call this function to disconnect from the remote host. If already disconnected, nothing will be done. The disconnected signal is not emitted when this function is called
Reimplemented from Async::TcpConnection.
Definition at line 193 of file AsyncTcpClient.h.
References closeConnection().
|
inline |
Check if the connection is idle.
A connection being idle means that it is not connected nor connecting.
Definition at line 201 of file AsyncTcpClient.h.
References Async::TcpClientBase::isIdle().
|
protectedvirtual |
Move assignmnt operator.
other | The object to move from |
Reimplemented from Async::TcpClientBase.