Nets v3.0.0
IDatagramServer Class Referenceabstract

Datagram server instance handle. (TCP). More...

#include <datagram-server.hpp>

Public Member Functions

 IDatagramServer (const IDatagramServer &)=delete
 IDatagramServer (IDatagramServer &&r) noexcept
IDatagramServer & operator= (IDatagramServer &)=delete
IDatagramServer & operator= (IDatagramServer &&r) noexcept
 IDatagramServer (SocketFamily socketFamily, const char *service, size_t bufferSize=UINT16_MAX+1)
 Creates a new datagram server instance. (TCP).
void destroy () noexcept
 Destroys datagram server instance.
virtual void onDatagramReceive (SocketAddressView remoteAddress, const uint8_t *receiveBuffer, size_t byteCount)=0
 Datagram server receive function. (UDP).
DatagramServer_TgetInstance () const noexcept
 Returns datagram server handle instance.
size_t getBufferSize () const noexcept
 Returns datagram server receive buffer size in bytes.
uint8_tgetBuffer () const noexcept
 Returns datagram server receive data buffer.
SocketView getSocket () const noexcept
 Returns datagram server socket instance.
NetsResult update () noexcept
 Receives pending datagram messages. (Non blocking).
NetsResult send (const void *data, size_t byteCount, SocketAddressView remoteAddress) noexcept
 Sends datagram to the specified remote address. (UDP).
NetsResult send (const OutStreamMessage &message, SocketAddressView remoteAddress) noexcept
 Sends datagram to the specified remote address. (UDP).

Protected Attributes

DatagramServer_Tinstance = nullptr

Detailed Description

Datagram server instance handle. (TCP).

See the datagram-server.h

Constructor & Destructor Documentation

◆ IDatagramServer()

IDatagramServer ( SocketFamily socketFamily,
const char * service,
size_t bufferSize = UINT16_MAX + 1 )
inline

Creates a new datagram server instance. (TCP).

See the createDatagramServer().

Parameters
socketFamilylocal socket IP address family
servicelocal IP address service string (port)
bufferSizereceive data buffer size in bytes
Exceptions
Errorwith a NetsResult string on failure.

Member Function Documentation

◆ destroy()

void destroy ( )
inlinenoexcept

Destroys datagram server instance.

See the destroyDatagramServer().

◆ onDatagramReceive()

virtual void onDatagramReceive ( SocketAddressView remoteAddress,
const uint8_t * receiveBuffer,
size_t byteCount )
pure virtual

Datagram server receive function. (UDP).

Parameters
remoteAddresssender remote socket address
[in]receiveBufferreceived data buffer
byteCountreceived byte count

◆ getBufferSize()

size_t getBufferSize ( ) const
inlinenoexcept

Returns datagram server receive buffer size in bytes.

See the getDatagramServerBufferSize().

◆ getBuffer()

uint8_t * getBuffer ( ) const
inlinenoexcept

Returns datagram server receive data buffer.

See the getDatagramServerBuffer().

◆ getSocket()

SocketView getSocket ( ) const
inlinenoexcept

Returns datagram server socket instance.

See the getDatagramServerSocket().

◆ update()

NetsResult update ( )
inlinenoexcept

Receives pending datagram messages. (Non blocking).

See the updateDatagramServer().

Returns
The operation NetsResult code.

◆ send() [1/2]

NetsResult send ( const void * data,
size_t byteCount,
SocketAddressView remoteAddress )
inlinenoexcept

Sends datagram to the specified remote address. (UDP).

See the datagramServerSend().

Returns
The operation NetsResult code.
Parameters
[in]datasend data buffer
byteCountdata byte count to send
remoteAddressrecipient remote socket IP address

◆ send() [2/2]

NetsResult send ( const OutStreamMessage & message,
SocketAddressView remoteAddress )
inlinenoexcept

Sends datagram to the specified remote address. (UDP).

See the datagramServerSend().

Returns
The operation NetsResult code.
Parameters
[in]messagedatagram message to send
remoteAddressrecipient remote socket IP address