Async 1.8.0
|
A_brief_class_description. More...
#include <AsyncTcpPrioClient.h>
Public Member Functions | |
TcpPrioClient (size_t recv_buf_len=ConT::DEFAULT_RECV_BUF_LEN) | |
Constructor. | |
TcpPrioClient (const TcpPrioClient &)=delete | |
Disallow copy construction. | |
TcpPrioClient & | operator= (const TcpPrioClient &)=delete |
Disallow copy assignment. | |
virtual | ~TcpPrioClient (void) |
Destructor. | |
virtual void | disconnect (void) |
Disconnect from the remote host. | |
![]() | |
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. | |
size_t | recvBufLen (void) const |
virtual int | write (const void *buf, int count) |
Write data to the TCP connection. | |
IpAddress | localHost (void) const |
Get the local IP address associated with this connection. | |
uint16_t | localPort (void) const |
Get the local TCP port associated with this 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. | |
void | enableSsl (bool enable) |
Enable or disable TLS for this connection. | |
SslX509 | sslPeerCertificate (void) |
Get the peer certificate associated with this connection. | |
Async::SslX509 | sslCertificate (void) const |
long | sslVerifyResult (void) const |
Get the result of the certificate verification process. | |
void | setSslContext (SslContext &ctx, bool is_server) |
Set the OpenSSL context to use when setting up the connection. | |
SslContext * | sslContext (void) |
bool | isServer (void) const |
void | freeze (void) |
Stop all communication. | |
void | unfreeze (void) |
Reenable all communication. | |
![]() | |
TcpPrioClientBase (TcpConnection *con) | |
Constructor. | |
TcpPrioClientBase (TcpConnection *con, const std::string &remote_host, uint16_t remote_port)=delete | |
Deleted constructor not making sense in this context. | |
TcpPrioClientBase (TcpConnection *con, const IpAddress &remote_ip, uint16_t remote_port)=delete | |
Deleted constructor not making sense in this context. | |
virtual | ~TcpPrioClientBase (void) |
Destructor. | |
void | setReconnectMinTime (unsigned t) |
Minimum time between reconnects. | |
void | setReconnectMaxTime (unsigned t) |
Maximum time between reconnects. | |
void | setReconnectBackoffPercent (unsigned p) |
Percent to increase reconnect time with each try. | |
void | setReconnectRandomizePercent (unsigned p) |
Percent to randomize reconnect time. | |
void | setService (const std::string &srv_name, const std::string &srv_proto, const std::string &srv_domain) |
Use a DNS service resource record for connections. | |
void | addStaticSRVRecord (DnsResourceRecordSRV::Ttl ttl, DnsResourceRecordSRV::Prio prio, DnsResourceRecordSRV::Weight weight, DnsResourceRecordSRV::Port port, DnsResourceRecordSRV::Target target) |
Add a static service resource record. | |
const std::string & | service (void) const |
Get the full service name. | |
void | connect (void) |
Connect to the remote host. | |
void | connect (const std::string &remote_host, uint16_t remote_port)=delete |
Deleted function not making sense in this context. | |
void | connect (const Async::IpAddress &remote_ip, uint16_t remote_port)=delete |
Deleted function not making sense in this context. | |
void | markAsEstablished (void) |
Mark connection as established. | |
bool | markedAsEstablished (void) const |
Check if a connection has been marked as established. | |
bool | isIdle (void) const |
Check if the connection is idle. | |
bool | isPrimary (void) const |
Check if connected to the primary server. | |
virtual TcpClientBase & | operator= (TcpClientBase &&other) |
Inherit the assignment operator from 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) |
Disconnect from the remote peer. | |
virtual void | onDisconnected (TcpConnection::DisconnectReason reason) |
Called when a connection has been terminated. | |
virtual TcpClientBase * | newTcpClient (void) override |
Allocate a new TcpClient object. | |
virtual void | emitDisconnected (TcpConnection::DisconnectReason reason) |
Emit the disconnected signal. | |
![]() | |
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 int | onDataReceived (void *buf, int count) |
Called when data has been received on the connection. | |
virtual int | emitVerifyPeer (int preverify_ok, X509_STORE_CTX *store_ctx) |
Emit the verifyPeer signal. | |
![]() | |
virtual void | connectionEstablished (void) override |
Called when the connection has been established to the server. | |
![]() | |
virtual void | emitConnected (void) |
Additional Inherited Members | |
![]() | |
enum | DisconnectReason { DR_HOST_NOT_FOUND , DR_REMOTE_DISCONNECTED , DR_SYSTEM_ERROR , DR_ORDERED_DISCONNECT , DR_PROTOCOL_ERROR , DR_SWITCH_PEER , DR_BAD_STATE } |
Reason code for disconnects. More... | |
![]() | |
static const char * | disconnectReasonStr (DisconnectReason reason) |
Translate disconnect reason to a string. | |
![]() | |
sigc::signal< void, TcpConnection *, DisconnectReason > | disconnected |
Get common name for the SSL connection. | |
sigc::signal< int, TcpConnection *, void *, int > | dataReceived |
A signal that is emitted when data has been received on the connection. | |
sigc::signal< if_all_true_acc::result_type, TcpConnection *, int, X509_STORE_CTX * >::accumulated< if_all_true_acc > | verifyPeer |
A signal that is emitted on SSL/TLS certificate verification. | |
sigc::signal< void, TcpConnection * > | sslConnectionReady |
A signal that is emitted when the SSL connection is ready. | |
![]() | |
sigc::signal< void > | connected |
A signal that is emitted when a connection has been established. | |
![]() | |
static const int | DEFAULT_RECV_BUF_LEN = 1024 |
The default size of the reception buffer. | |
A_brief_class_description.
A_detailed_class_description
Definition at line 123 of file AsyncTcpPrioClient.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 136 of file AsyncTcpPrioClient.h.
|
delete |
Disallow copy construction.
|
inlinevirtual |
Destructor.
Definition at line 152 of file AsyncTcpPrioClient.h.
|
inlineprotectedvirtual |
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 177 of file AsyncTcpPrioClient.h.
References Async::TcpClientBase::closeConnection().
|
inlinevirtual |
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 161 of file AsyncTcpPrioClient.h.
References Async::TcpPrioClientBase::disconnect().
|
inlineprotectedvirtual |
Emit the disconnected signal.
reason | The reason for the disconnection |
Reimplemented from Async::TcpConnection.
Definition at line 211 of file AsyncTcpPrioClient.h.
|
inlineoverrideprotectedvirtual |
Allocate a new TcpClient object.
This function is used to allocate a new TcpClient object. That object is used when in the background trying to connect to a higher prioritized server. Note that the object should be a "normal" TcpClient and not a TcpPrioClient.
Implements Async::TcpPrioClientBase.
Definition at line 206 of file AsyncTcpPrioClient.h.
|
inlineprotectedvirtual |
Called when a connection has been terminated.
reason | The reason for the disconnect |
This function will be called when the connection has been terminated.
Reimplemented from Async::TcpConnection.
Definition at line 189 of file AsyncTcpPrioClient.h.
References Async::TcpPrioClientBase::onDisconnected().
|
delete |
Disallow copy assignment.