File SolidSyslogLwipRawDatagram.h¶
FileList > Interface > SolidSyslogLwipRawDatagram.h
Go to the source code of this file
UDP transport over the lwIP Raw API, for a UdpSender. More...
#include "ExternC.h"
Public Functions¶
| Type | Name |
|---|---|
| struct SolidSyslogDatagram * | SolidSyslogLwipRawDatagram_Create (void) Create takes no config; an exhausted pool falls back to the shared NullDatagram, whose SendTo reports SENT so undeliverables are dropped rather than backing up the Store. |
| void | SolidSyslogLwipRawDatagram_Destroy (struct SolidSyslogDatagram * base) Release the pool slot; removes the udp pcb. |
Detailed Description¶
What the datagram does through its vtable is the substance:
- Open makes a udp_new pcb; Close removes it. Both run under the SolidSyslogLwipRaw_Marshal hop, since they touch lwIP core state.
- SendTo runs the whole send — pbuf alloc, udp_sendto, free — in a single marshal hop, so a NO_SYS=0 integrator pays one tcpip-thread context switch per Send rather than three. The pbuf is PBUF_REF: lwIP points at the caller's buffer instead of copying it, safe because the buffer outlives the synchronous hop. Reports SENT on udp_sendto success, else FAILED. Cache-miss recovery is left to lwIP's ARP_QUEUEING.
- MaxPayload returns the IPv6-safe default.
Public Functions Documentation¶
function SolidSyslogLwipRawDatagram_Create¶
Create takes no config; an exhausted pool falls back to the shared NullDatagram, whose SendTo reports SENT so undeliverables are dropped rather than backing up the Store.
function SolidSyslogLwipRawDatagram_Destroy¶
Release the pool slot; removes the udp pcb.
The documentation for this class was generated from the following file Platform/LwipRaw/Interface/SolidSyslogLwipRawDatagram.h