#include <TcpConnection.h>
Public Member Functions | |
| TcpConnection (bool autoDestruct) | |
| TcpConnection (tcp_pcb *connection, bool autoDestruct) | |
| virtual | ~TcpConnection () |
| virtual bool | connect (const String &server, int port, bool useSsl=false) |
| virtual bool | connect (IpAddress addr, uint16_t port, bool useSsl=false) |
| virtual void | close () |
| void | setAutoSelfDestruct (bool state) |
| int | writeString (const char *data, uint8_t apiflags=TCP_WRITE_FLAG_COPY) |
| Writes string data directly to the TCP buffer. More... | |
| int | writeString (const String &data, uint8_t apiflags=TCP_WRITE_FLAG_COPY) |
| Writes string data directly to the TCP buffer. More... | |
| virtual int | write (const char *data, int len, uint8_t apiflags=TCP_WRITE_FLAG_COPY) |
| Base write operation. More... | |
| int | write (IDataSourceStream *stream) |
| Writes stream data directly to the TCP buffer. More... | |
| uint16_t | getAvailableWriteSize () |
| void | flush () |
| void | setTimeOut (uint16_t waitTimeOut) |
| IpAddress | getRemoteIp () const |
| uint16_t | getRemotePort () const |
| void | setDestroyedDelegate (TcpConnectionDestroyedDelegate destroyedDelegate) |
| Sets a callback to be called when the object instance is destroyed. More... | |
| void | setSslInitHandler (Ssl::Session::InitDelegate handler) |
| Set the SSL session initialisation callback. More... | |
| bool | setSslConnection (Ssl::Connection *connection) |
| Ssl::Session * | getSsl () |
| Get a pointer to the current SSL session object. More... | |
| bool | enableSsl (const String &hostName=nullptr) |
| Enables Secure Socket Layer on the current connection. More... | |
Public Member Functions inherited from IpConnection | |
| bool | joinMulticastGroup (IpAddress localIp, IpAddress multicastIp) |
| Uses IGMP to add a local network interface to multicast group. More... | |
| bool | joinMulticastGroup (IpAddress multicastIp) |
| Uses IGMP to add all local network interfaces to multicast group. More... | |
| bool | leaveMulticastGroup (IpAddress localIp, IpAddress multicastIp) |
| Uses IGMP to remove a local network interface from multicast group. More... | |
| bool | leaveMulticastGroup (IpAddress multicastIp) |
| Uses IGMP to remove all local network interfaces from multicast group. More... | |
Protected Member Functions | |
| void | initialize (tcp_pcb *pcb) |
| bool | internalConnect (IpAddress addr, uint16_t port) |
| bool | sslCreateSession () |
| virtual void | sslInitSession (Ssl::Session &session) |
| Override in inherited classes to perform custom session initialisation. More... | |
| virtual err_t | onConnected (err_t err) |
| virtual err_t | onReceive (pbuf *buf) |
| virtual err_t | onSent (uint16_t len) |
| virtual err_t | onPoll () |
| virtual void | onError (err_t err) |
| virtual void | onReadyToSendData (TcpConnectionEvent sourceEvent) |
| virtual void | onClosed () |
| Gets called when there is/was a tcp connection, the latter does not have to be established, that is closed due to error or normal disconnect. More... | |
| void | trySend (TcpConnectionEvent event) |
| err_t | internalOnConnected (err_t err) |
| err_t | internalOnReceive (pbuf *p, err_t err) |
| err_t | internalOnSent (uint16_t len) |
| err_t | internalOnPoll () |
| void | internalOnError (err_t err) |
| void | internalOnDnsResponse (const char *name, LWIP_IP_ADDR_T *ipaddr, int port) |
Protected Attributes | |
| tcp_pcb * | tcp = nullptr |
| uint16_t | sleep = 0 |
| uint16_t | timeOut = USHRT_MAX |
| By default a TCP connection does not have a time out. More... | |
| bool | canSend = true |
| bool | autoSelfDestruct = true |
| Ssl::Session * | ssl = nullptr |
| Ssl::Session::InitDelegate | sslInit |
| bool | useSsl = false |
Constructor & Destructor Documentation
◆ TcpConnection() [1/2]
|
inline |
◆ TcpConnection() [2/2]
|
inline |
◆ ~TcpConnection()
|
virtual |
Member Function Documentation
◆ close()
|
virtual |
Reimplemented in TcpClient.
◆ connect() [1/2]
|
virtual |
Reimplemented in TcpClient, and HttpClientConnection.
◆ connect() [2/2]
|
virtual |
Reimplemented in TcpClient.
◆ enableSsl()
| bool TcpConnection::enableSsl | ( | const String & | hostName = nullptr | ) |
Enables Secure Socket Layer on the current connection.
- Parameters
-
hostName
- Return values
-
true on success, false otherwise
◆ flush()
| void TcpConnection::flush | ( | ) |
◆ getAvailableWriteSize()
|
inline |
◆ getRemoteIp()
|
inline |
◆ getRemotePort()
|
inline |
◆ getSsl()
|
inline |
Get a pointer to the current SSL session object.
Note that this is typically used so we can query properties of an established session. If you need to change session parameters this must be done via setSslInitHandler.
◆ initialize()
|
protected |
◆ internalConnect()
|
protected |
◆ internalOnConnected()
|
protected |
◆ internalOnDnsResponse()
|
protected |
◆ internalOnError()
|
protected |
◆ internalOnPoll()
|
protected |
◆ internalOnReceive()
|
protected |
◆ internalOnSent()
|
protected |
◆ onClosed()
|
inlineprotectedvirtual |
Gets called when there is/was a tcp connection, the latter does not have to be established, that is closed due to error or normal disconnect.
- Note
- This method can be used to trigger reconnects
Reimplemented in TcpClient, and HttpClientConnection.
◆ onConnected()
|
protectedvirtual |
Reimplemented in TcpClient, HttpClientConnection, and FtpDataStream.
◆ onError()
|
protectedvirtual |
Reimplemented in TcpClient, and HttpConnection.
◆ onPoll()
|
protectedvirtual |
◆ onReadyToSendData()
|
protectedvirtual |
Reimplemented in TcpClient, SmtpClient, MqttClient, HttpServerConnection, HttpClientConnection, and FtpDataStream.
◆ onReceive()
|
protectedvirtual |
Reimplemented in TcpClient, SmtpClient, FtpServerConnection, and FtpDataStore.
◆ onSent()
|
protectedvirtual |
Reimplemented in TcpClient, and FtpServerConnection.
◆ setAutoSelfDestruct()
|
inline |
◆ setDestroyedDelegate()
|
inline |
Sets a callback to be called when the object instance is destroyed.
- Parameters
-
destroyedDelegate
◆ setSslConnection()
|
inline |
◆ setSslInitHandler()
|
inline |
Set the SSL session initialisation callback.
- Parameters
-
handler
◆ setTimeOut()
| void TcpConnection::setTimeOut | ( | uint16_t | waitTimeOut | ) |
◆ sslCreateSession()
|
protected |
◆ sslInitSession()
|
inlineprotectedvirtual |
Override in inherited classes to perform custom session initialisation.
Called when TCP connection is established before initiating handshake.
Reimplemented in HttpClientConnection.
◆ trySend()
|
inlineprotected |
◆ write() [1/2]
|
virtual |
Base write operation.
- Parameters
-
data len apiflags TCP_WRITE_FLAG_COPY, TCP_WRITE_FLAG_MORE
- Return values
-
int negative on error, 0 when retry is needed or positive on success
◆ write() [2/2]
| int TcpConnection::write | ( | IDataSourceStream * | stream | ) |
Writes stream data directly to the TCP buffer.
- Parameters
-
stream apiflags TCP_WRITE_FLAG_COPY, TCP_WRITE_FLAG_MORE
- Return values
-
int negative on error, 0 when retry is needed or positive on success
◆ writeString() [1/2]
|
inline |
Writes string data directly to the TCP buffer.
- Parameters
-
data null terminated string apiflags TCP_WRITE_FLAG_COPY, TCP_WRITE_FLAG_MORE
- Return values
-
int negative on error, 0 when retry is needed or positive on success
◆ writeString() [2/2]
|
inline |
Writes string data directly to the TCP buffer.
- Parameters
-
data apiflags TCP_WRITE_FLAG_COPY, TCP_WRITE_FLAG_MORE
- Return values
-
int negative on error, 0 when retry is needed or positive on success
Member Data Documentation
◆ autoSelfDestruct
|
protected |
◆ canSend
|
protected |
◆ sleep
|
protected |
◆ ssl
|
protected |
◆ sslInit
|
protected |
◆ tcp
|
protected |
◆ timeOut
|
protected |
By default a TCP connection does not have a time out.
◆ useSsl
|
protected |
The documentation for this class was generated from the following file:
Public Member Functions inherited from
1.9.1