Skip to content

Struct SolidSyslogSender

ClassList > SolidSyslogSender

The contract an implementer fills in. More...

  • #include <SolidSyslogSenderDefinition.h>

Public Attributes

Type Name
void(* Disconnect
Drop the underlying connection, leaving the sender reusable: the next Send reconnects.
bool(* Send
Deliver one fully-framed message, buffer [0..size).

Detailed Description

The library composes one sender per destination and calls it from the servicing pass; a sender is not a process-singleton (dual-SIEM and failover stacks hold several).

Public Attributes Documentation

variable Disconnect

Drop the underlying connection, leaving the sender reusable: the next Send reconnects.

void(* SolidSyslogSender::Disconnect) (struct SolidSyslogSender *base);

Must be idempotent (safe when already disconnected). The library calls this to reset a stale connection, not on every send failure, so it is not on the hot path.


variable Send

Deliver one fully-framed message, buffer [0..size).

bool(* SolidSyslogSender::Send) (struct SolidSyslogSender *base, const void *buffer, size_t size);

Return true only once it is on the wire (or genuinely unrecoverable and safe to drop): the Service loop marks the record sent and moves on. Return false to keep the record in the Store for a later retry, which is what a slow or down destination reports. May connect lazily, which can block on the transport; buffer is read during the call and need not outlive it. Called on the servicing thread, so it need not be reentrant.



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