Nets v3.0.0
datagram-server.h File Reference

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

#include "nets/socket.h"

Typedefs

typedef struct DatagramServer_T DatagramServer_T
typedef DatagramServer_TDatagramServer
typedef void(* OnDatagramServerReceive) (DatagramServer datagramServer, SocketAddress remoteAddress, const uint8_t *receiveBuffer, size_t byteCount)
 Datagram server receive function. (UDP).

Functions

NetsResult createDatagramServer (SocketFamily socketFamily, const char *service, size_t bufferSize, OnDatagramServerReceive onReceive, void *handle, DatagramServer *datagramServer)
 Creates a new datagram server instance. (UDP).
void destroyDatagramServer (DatagramServer datagramServer)
 Destroys datagram server instance. (UDP).
size_t getDatagramServerBufferSize (DatagramServer datagramServer)
 Returns datagram server receive buffer size in bytes.
uint8_t * getDatagramServerBuffer (DatagramServer datagramServer)
 Returns datagram server receive data buffer.
OnDatagramServerReceive getDatagramServerOnReceive (DatagramServer datagramServer)
 Returns datagram server receive function.
void * getDatagramServerHandle (DatagramServer datagramServer)
 Returns datagram server handle.
Socket getDatagramServerSocket (DatagramServer datagramServer)
 Returns datagram server socket instance.
NetsResult updateDatagramServer (DatagramServer datagramServer)
 Receives pending datagram messages.
NetsResult datagramServerSend (DatagramServer datagramServer, const void *data, size_t byteCount, SocketAddress remoteAddress)
 Sends datagram message to the specified remote IP address.

Detailed Description

Network datagram server functions. (UDP).

Typedef Documentation

◆ DatagramServer_T

Datagram server structure. (UDP)

◆ DatagramServer

Datagram server instance. (UDP)

◆ OnDatagramServerReceive

typedef void(* OnDatagramServerReceive) (DatagramServer datagramServer, SocketAddress remoteAddress, const uint8_t *receiveBuffer, size_t byteCount)

Datagram server receive function. (UDP).

Parameters
datagramServerdatagram server instance
remoteAddresssender remote socket IP address
receiveBufferreceived data buffer
byteCountreceived byte count

Function Documentation

◆ createDatagramServer()

NetsResult createDatagramServer ( SocketFamily socketFamily,
const char * service,
size_t bufferSize,
OnDatagramServerReceive onReceive,
void * handle,
DatagramServer * datagramServer )

Creates a new datagram server instance. (UDP).

Returns
The operation NetsResult code.
Parameters
socketFamilylocal socket IP address family
servicelocal IP address service string (port)
bufferSizereceive data buffer size in bytes
[in]onReceiveon datagram receive function.
[in]handlereceive function argument or NULL
datagramServerpointer to the datagram server instance

◆ destroyDatagramServer()

void destroyDatagramServer ( DatagramServer datagramServer)

Destroys datagram server instance. (UDP).

Parameters
datagramServertarget datagram server instance or NULL

◆ getDatagramServerBufferSize()

size_t getDatagramServerBufferSize ( DatagramServer datagramServer)

Returns datagram server receive buffer size in bytes.

Parameters
datagramServertarget datagram server instance

◆ getDatagramServerBuffer()

uint8_t * getDatagramServerBuffer ( DatagramServer datagramServer)

Returns datagram server receive data buffer.

Parameters
datagramServertarget datagram server instance

◆ getDatagramServerOnReceive()

OnDatagramServerReceive getDatagramServerOnReceive ( DatagramServer datagramServer)

Returns datagram server receive function.

Parameters
datagramServertarget datagram server instance

◆ getDatagramServerHandle()

void * getDatagramServerHandle ( DatagramServer datagramServer)

Returns datagram server handle.

Parameters
datagramServertarget datagram server instance

◆ getDatagramServerSocket()

Socket getDatagramServerSocket ( DatagramServer datagramServer)

Returns datagram server socket instance.

Parameters
datagramServertarget datagram server instance

◆ updateDatagramServer()

NetsResult updateDatagramServer ( DatagramServer datagramServer)

Receives pending datagram messages.

Returns
The operation NetsResult code.
Parameters
datagramServertarget datagram server instance

◆ datagramServerSend()

NetsResult datagramServerSend ( DatagramServer datagramServer,
const void * data,
size_t byteCount,
SocketAddress remoteAddress )

Sends datagram message to the specified remote IP address.

Returns
The operation NetsResult code.
Parameters
datagramServertarget datagram server instance
[in]datasend data buffer
byteCountmessage byte count to send
remoteAddressdestination remote socket IP address