File SolidSyslogPosixMessageQueueBuffer.h¶
FileList > Interface > SolidSyslogPosixMessageQueueBuffer.h
Go to the source code of this file
A Buffer backed by a POSIX message queue, decoupling SolidSyslog_Log (enqueue) from Service (drain) across tasks or processes. More...
#include <stddef.h>#include "ExternC.h"
Public Functions¶
| Type | Name |
|---|---|
| struct SolidSyslogBuffer * | SolidSyslogPosixMessageQueueBuffer_Create (size_t maxMessageSize, long maxMessages) maxMessageSize andmaxMessages size the queue; an exhausted pool falls back to the shared NullBuffer. |
| void | SolidSyslogPosixMessageQueueBuffer_Destroy (struct SolidSyslogBuffer * base) Release the pool slot; closes and unlinks the underlying queue. |
Detailed Description¶
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¶
function 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
)
function SolidSyslogPosixMessageQueueBuffer_Destroy¶
Release the pool slot; closes and unlinks the underlying queue.
The documentation for this class was generated from the following file Platform/Posix/Interface/SolidSyslogPosixMessageQueueBuffer.h