Skip to content

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.

struct SolidSyslogDatagram * SolidSyslogLwipRawDatagram_Create (
    void
) 


function SolidSyslogLwipRawDatagram_Destroy

Release the pool slot; removes the udp pcb.

void SolidSyslogLwipRawDatagram_Destroy (
    struct SolidSyslogDatagram * base
) 



The documentation for this class was generated from the following file Platform/LwipRaw/Interface/SolidSyslogLwipRawDatagram.h