AUI Framework  develop
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
ATcpSocket Class Reference

A bidirectional TCP connection (either a client connection or returned by ATcpServerSocket).

#include <AUI/Network/ATcpSocket.h>

Public Member Functions#

 ATcpSocket (const AInet4Address &destinationAddress)
 
size_t read (char *dst, size_t size) override
 Reads up to size bytes from stream. Blocking (waiting for new data) is allowed.
 
void write (const char *buffer, size_t size) override
 Writes exact size bytes to stream. Blocking (waiting for write all data) is allowed.
 
- Public Member Functions inherited from AAbstractSocket
 AAbstractSocket (const AAbstractSocket &)=delete
 
void close ()
 
void setTimeout (int secs)
 
const AInet4AddressgetAddress () const
 
- Public Member Functions inherited from IInputStream
size_t read (std::span< std::byte > destination)
 Reads up to destination.size() bytes from stream. Blocking (waiting for new data) is allowed.
 
void readExact (char *dst, size_t size)
 Reads exact size bytes from stream. Blocking (waiting for new data) is allowed.
 
template<typename T>
deserialize ()
 
template<typename T>
IInputStreamoperator>> (T &dst)
 
template<typename T>
IInputStreamoperator>> (T &&dst)
 
- Public Member Functions inherited from IOutputStream
template<typename T>
void write (const T &t)
 
template<typename T>
IOutputStreamoperator<< (const T &t)
 

Protected Member Functions#

 ATcpSocket (int handle, const AInet4Address &selfAddr)
 
int createSocket () override
 Creates socket handle.
 
- Protected Member Functions inherited from AAbstractSocket
int getHandle () const
 
 AAbstractSocket (int handle, const AInet4Address &selfAddress)
 
void init ()
 Initialise socket.
 
void bind (uint16_t bindingPort)
 Binds socket for port. Used for ATcpServerSocket and AUdpSocket.
 

Additional Inherited Members#

- Static Protected Member Functions inherited from AAbstractSocket
static AString getErrorString ()
 
static void handleError (const AString &message, int code)
 

Member Function Documentation#

◆ createSocket()#

int ATcpSocket::createSocket ( )
overrideprotectedvirtual

Implements AAbstractSocket.

◆ read()#

size_t ATcpSocket::read ( char * dst,
size_t size )
overridevirtual
Sneaky exceptions
An implementation can throw any exception that subclasses AIOException.
Parameters
dstdestination buffer
sizedestination buffer's size. > 0
Returns
number of read bytes (including 0)

Implements IInputStream.

◆ write()#

void ATcpSocket::write ( const char * src,
size_t size )
overridevirtual
Sneaky exceptions
An implementation can throw any exception that subclasses AIOException.
Parameters
srcsource buffer
sizesource buffer's size. > 0

Implements IOutputStream.