ProtoCore v1.0.16
Deterministic, zero-heap network stack for embedded targets
Loading...
Searching...
No Matches
client.h File Reference

Layer 4 UDP, the sending side: datagrams to an arbitrary destination. More...

#include "shared/ip/ip.h"
#include "protocore_config.h"

Go to the source code of this file.

Classes

struct  UdpClientVars
 
struct  UdpClientNs
 The entries. More...
 

Functions

void protocore_udp_client_sendto (uint8_t *work)
 
uint8_t * protocore_udp_client_span (void)
 The PROTOCORE_UDP_CLIENT_BORROW bytes this module's state lives in.
 

Variables

UdpClientVars UdpClientV
 The operands and the outcome.
 

Detailed Description

Layer 4 UDP, the sending side: datagrams to an arbitrary destination.

One shared outbound control block, created on first send.

sendto() carries the caller's buffer to the stack's thread inside one marshaled call and reports what the stack did with it. Nothing is queued and nothing is copied on the way out.

Nothing is bound here, so the source port is ephemeral and nothing is received. A service whose peer replies to the source endpoint binds a port on the listener side and sends with ::UdpListener sendto instead.

Reached through ::UdpClient.

Author
Douglas Quigg (dstroy0)
Date
2026

Definition in file client.h.

Function Documentation

◆ protocore_udp_client_sendto()

void protocore_udp_client_sendto ( uint8_t *  work)

◆ protocore_udp_client_span()

uint8_t * protocore_udp_client_span ( void  )

The PROTOCORE_UDP_CLIENT_BORROW bytes this module's state lives in.

Stated beside the namespace rather than on it: an entry takes a borrow, and this is where that borrow comes from. Taken once from the end of the pool, which no mark and no release walks, so the state lasts the life of the program.

Returns
the span.

Variable Documentation

◆ UdpClientV

UdpClientVars UdpClientV
extern

The operands and the outcome.