Skip to content

File SolidSyslogUdpSender.h

FileList > Core > Interface > SolidSyslogUdpSender.h

Go to the source code of this file

A Sender that transmits each message as a single UDP datagram over the injected Datagram, resolving the endpoint and opening the socket lazily on the first Send and re-resolving when the endpoint version changes. More...

  • #include "SolidSyslogEndpoint.h"
  • #include "ExternC.h"

Classes

Type Name
struct SolidSyslogUdpSenderConfig
Wiring for SolidSyslogUdpSender_Create, a sender that resolves a host and transmits each framed message as one datagram.

Public Functions

Type Name
struct SolidSyslogSender * SolidSyslogUdpSender_Create (const struct SolidSyslogUdpSenderConfig * config)
Create a UDP sender from config .
void SolidSyslogUdpSender_Destroy (struct SolidSyslogSender * base)
Release the sender's pool slot, disconnecting first.

Detailed Description

A datagram the path reports as oversize is retried once, trimmed to the datagram's MaxPayload on a UTF-8 codepoint boundary rather than dropped; an untransmittable record (trims to nothing, or still oversize on retry) is swallowed as sent so Service does not loop on it. A NULL send buffer is reported and rejected without touching delivery health. Repeated delivery failures and the recovery after them are reported once each via SolidSyslog_Error (DELIVERY_FAILED / DELIVERY_RESTORED). Destroy disconnects but does not free the injected Resolver, Datagram, or Address.

Public Functions Documentation

function SolidSyslogUdpSender_Create

Create a UDP sender from config .

struct SolidSyslogSender * SolidSyslogUdpSender_Create (
    const struct SolidSyslogUdpSenderConfig * config
) 

Never returns NULL: a NULL or invalid config, or an exhausted sender pool, reports via SolidSyslog_Error and returns the shared NullSender (Send drops on the floor), so the result is safe to wire without a null-check.


function SolidSyslogUdpSender_Destroy

Release the sender's pool slot, disconnecting first.

void SolidSyslogUdpSender_Destroy (
    struct SolidSyslogSender * base
) 

Does not free the injected Resolver, Datagram, or Address; the caller owns those.



The documentation for this class was generated from the following file Core/Interface/SolidSyslogUdpSender.h