Nets v3.0.0
IDatagramClient Class Referenceabstract

Datagram client instance handle. (UDP). More...

#include <datagram-client.hpp>

Public Member Functions

 IDatagramClient (const IDatagramClient &)=delete
 IDatagramClient (IDatagramClient &&r) noexcept
IDatagramClient & operator= (IDatagramClient &)=delete
IDatagramClient & operator= (IDatagramClient &&r) noexcept
 IDatagramClient ()=default
 Creates a new empty datagram client instance. (UDP).
 IDatagramClient (SocketAddressView remoteAddress, size_t bufferSize)
 Creates a new datagram client instance. (TCP).
void destroy () noexcept
 Destroys datagram client instance.
virtual void onDatagramReceive (const uint8_t *receiveBuffer, size_t byteCount)=0
 Datagram client receive function. (UDP).
DatagramClient_TgetInstance () const noexcept
 Returns datagram client handle instance.
size_t getBufferSize () const noexcept
 Returns datagram client receive buffer size.
uint8_tgetBuffer () const noexcept
 Returns datagram client receive data buffer.
NetsResult update () noexcept
 Receives pending datagram messages. (Non blocking).
NetsResult send (const void *data, size_t byteCount) noexcept
 Sends datagram to the server.
NetsResult send (const OutStreamMessage &message) noexcept
 Sends datagram message to the server.

Protected Attributes

DatagramClient_Tinstance = nullptr

Detailed Description

Datagram client instance handle. (UDP).

See the datagram-client.h

Constructor & Destructor Documentation

◆ IDatagramClient()

IDatagramClient ( SocketAddressView remoteAddress,
size_t bufferSize )
inline

Creates a new datagram client instance. (TCP).

See the createDatagramClient().

Parameters
remoteAddressremote socket IP address
bufferSizereceive data buffer size in bytes
Exceptions
Errorwith a NetsResult string on failure.

Member Function Documentation

◆ destroy()

void destroy ( )
inlinenoexcept

Destroys datagram client instance.

See the destroyDatagramClient().

◆ onDatagramReceive()

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

Datagram client receive function. (UDP).

Parameters
[in]receiveBufferreceived data buffer
byteCountreceived byte count

◆ getBufferSize()

size_t getBufferSize ( ) const
inlinenoexcept

Returns datagram client receive buffer size.

See the getDatagramClientBufferSize().

◆ getBuffer()

uint8_t * getBuffer ( ) const
inlinenoexcept

Returns datagram client receive data buffer.

See the getDatagramClientBuffer().

◆ update()

NetsResult update ( )
inlinenoexcept

Receives pending datagram messages. (Non blocking).

See the updateDatagramClient().

Returns
The operation NetsResult code.

◆ send() [1/2]

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

Sends datagram to the server.

See the datagramClientSend().

Returns
The operation NetsResult code.
Parameters
[in]datasend data buffer
byteCountdata byte count to send

◆ send() [2/2]

NetsResult send ( const OutStreamMessage & message)
inlinenoexcept

Sends datagram message to the server.

See the datagramClientSend().

Returns
The operation NetsResult code.
Parameters
[in]messagedatagram message to send