Nets v3.0.0
datagram-client.h File Reference

Network datagram client functions. (UDP). More...

#include "nets/socket.h"

Typedefs

typedef struct DatagramClient_T DatagramClient_T
typedef DatagramClient_TDatagramClient
typedef void(* OnDatagramClientReceive) (DatagramClient datagramClient, const uint8_t *receiveBuffer, size_t byteCount)
 Datagram client receive function. (UDP).

Functions

NetsResult createDatagramClient (SocketAddress remoteAddress, size_t bufferSize, OnDatagramClientReceive onReceive, void *handle, DatagramClient *datagramClient)
 Creates a new datagram client instance. (UDP).
void destroyDatagramClient (DatagramClient datagramClient)
 Destroys datagram client instance. (UDP).
size_t getDatagramClientBufferSize (DatagramClient datagramClient)
 Returns datagram client receive buffer size in bytes.
uint8_t * getDatagramClientBuffer (DatagramClient datagramClient)
 Returns datagram client receive data buffer.
OnDatagramClientReceive getDatagramClientOnReceive (DatagramClient datagramClient)
 Returns datagram client receive function.
void * getDatagramClientHandle (DatagramClient datagramClient)
 Returns datagram client handle.
Socket getDatagramClientSocket (DatagramClient datagramClient)
 Returns datagram client socket instance.
NetsResult updateDatagramClient (DatagramClient datagramClient)
 Receives pending datagram messages.
NetsResult datagramClientSend (DatagramClient datagramClient, const void *data, size_t byteCount)
 Sends datagram message to the server.

Detailed Description

Network datagram client functions. (UDP).

Typedef Documentation

◆ DatagramClient_T

Datagram client structure (UDP).

◆ DatagramClient

Datagram client instance (UDP).

◆ OnDatagramClientReceive

typedef void(* OnDatagramClientReceive) (DatagramClient datagramClient, const uint8_t *receiveBuffer, size_t byteCount)

Datagram client receive function. (UDP).

Parameters
datagramClientdatagram client instance
[in]receiveBufferreceive data buffer
byteCountreceived byte count.

Function Documentation

◆ createDatagramClient()

NetsResult createDatagramClient ( SocketAddress remoteAddress,
size_t bufferSize,
OnDatagramClientReceive onReceive,
void * handle,
DatagramClient * datagramClient )

Creates a new datagram client instance. (UDP).

Returns
The operation NetsResult code.
Parameters
remoteAddressremote socket IP address
bufferSizereceive data buffer size in bytes
[in]onReceiveon datagram receive function
[in]handlereceive function argument or NULL
datagramClientpointer to the datagram client instance

◆ destroyDatagramClient()

void destroyDatagramClient ( DatagramClient datagramClient)

Destroys datagram client instance. (UDP).

Parameters
datagramClienttarget datagram client instance or NULL

◆ getDatagramClientBufferSize()

size_t getDatagramClientBufferSize ( DatagramClient datagramClient)

Returns datagram client receive buffer size in bytes.

Parameters
datagramClienttarget datagram client instance

◆ getDatagramClientBuffer()

uint8_t * getDatagramClientBuffer ( DatagramClient datagramClient)

Returns datagram client receive data buffer.

Parameters
datagramClienttarget datagram client instance

◆ getDatagramClientOnReceive()

OnDatagramClientReceive getDatagramClientOnReceive ( DatagramClient datagramClient)

Returns datagram client receive function.

Parameters
datagramClienttarget datagram client instance

◆ getDatagramClientHandle()

void * getDatagramClientHandle ( DatagramClient datagramClient)

Returns datagram client handle.

Parameters
datagramClienttarget datagram client instance

◆ getDatagramClientSocket()

Socket getDatagramClientSocket ( DatagramClient datagramClient)

Returns datagram client socket instance.

Parameters
datagramClienttarget datagram client instance

◆ updateDatagramClient()

NetsResult updateDatagramClient ( DatagramClient datagramClient)

Receives pending datagram messages.

Returns
The operation NetsResult code.
Parameters
datagramClienttarget datagram client instance

◆ datagramClientSend()

NetsResult datagramClientSend ( DatagramClient datagramClient,
const void * data,
size_t byteCount )

Sends datagram message to the server.

Returns
The operation NetsResult code.
Parameters
datagramClienttarget datagram client instance
datasend data buffer
byteCountdata byte count to send