Skip to content

Posix platform

«interface»SolidSyslogBufferPosixMessageQueueBufferPosix

File SolidSyslogPosixMessageQueueBuffer.h

FileList > Interface > SolidSyslogPosixMessageQueueBuffer.h

  • #include <stddef.h>
  • #include "SolidSyslogExternC.h"

Detailed Description

A Buffer backed by a POSIX message queue, decoupling SolidSyslog_Log (enqueue) from Service (drain) across tasks or processes.

The queue is non-blocking: Write (mq_send) drops the record and reports an error when the queue is full, so SolidSyslog_Log never blocks; Read (mq_receive) is a non-blocking poll where an empty queue is silent and any other failure is reported. Each pool slot owns a distinct queue /solidsyslog_<pid>_<slot>, unlinked on Destroy.

Public Functions Documentation

SolidSyslogPosixMessageQueueBuffer_Create

maxMessageSize andmaxMessages size the queue; an exhausted pool falls back to the shared NullBuffer.

struct SolidSyslogBuffer * SolidSyslogPosixMessageQueueBuffer_Create (
    size_t maxMessageSize,
    long maxMessages
) 


SolidSyslogPosixMessageQueueBuffer_Destroy

Release the pool slot; closes and unlinks the underlying queue.

void SolidSyslogPosixMessageQueueBuffer_Destroy (
    struct SolidSyslogBuffer * base
) 



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