Skip to content

lwIP (Sockets API) platform

«interface»SolidSyslogDatagramLwipSocketDatagramLwipSocket

File SolidSyslogLwipSocketDatagram.h

FileList > Interface > SolidSyslogLwipSocketDatagram.h

  • #include "SolidSyslogExternC.h"
  • #include "SolidSyslogUdpPayloadLimitFunction.h"

Classes

Type Name
struct SolidSyslogLwipSocketDatagramConfig
States what only the integrator can know: the IPv4 payload the path carries, which this stack cannot discover.

Detailed Description

UDP transport over an lwIP Sockets API socket, for a UdpSender.

What the datagram does through its vtable is the substance:

  • Open takes an IPv4 UDP socket from the stack, and answers false if the stack will not give one.
  • SendTo writes the whole payload to the address it is handed, and reports SENT, OVERSIZE where the stack says the datagram is too long for one message, or FAILED for every other refusal.
  • MaxPayload answers the limit the config states, or the SOLIDSYSLOG_UDP_IPV4_PAYLOAD_LIMIT tunable: lwIP's sockets layer exposes no path MTU to read back.
  • Close releases the socket, and Destroy closes one still open.

Public Functions Documentation

SolidSyslogLwipSocketDatagram_Create

Draw a datagram from the pool; config may be NULL.

struct SolidSyslogDatagram * SolidSyslogLwipSocketDatagram_Create (
    const struct SolidSyslogLwipSocketDatagramConfig * config
) 

An exhausted pool falls back to the shared NullDatagram, whose SendTo reports SENT so undeliverables are dropped rather than backing up the Store.


SolidSyslogLwipSocketDatagram_Destroy

Release the pool slot and close the socket.

void SolidSyslogLwipSocketDatagram_Destroy (
    struct SolidSyslogDatagram * base
) 



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