FIFO/priority message queue IPC channel.
More...
#include <message_queue.h>
|
| std::unique_ptr< Impl > | impl_ |
FIFO/priority message queue IPC channel.
The queue can operate in FIFO mode or in priority mode, where higher-priority messages are received first.
Definition at line 30 of file message_queue.h.
◆ MessageQueue() [1/3]
| contur::MessageQueue::MessageQueue |
( |
std::string | name, |
|
|
std::size_t | maxMessages = 64, |
|
|
bool | priorityMode = false ) |
|
explicit |
Creates a message queue.
- Parameters
-
| name | Queue name. |
| maxMessages | Maximum number of queued messages. |
| priorityMode | True enables priority ordering. |
◆ ~MessageQueue()
| contur::MessageQueue::~MessageQueue |
( |
| ) |
|
|
override |
◆ MessageQueue() [2/3]
| contur::MessageQueue::MessageQueue |
( |
const MessageQueue & | | ) |
|
|
delete |
◆ MessageQueue() [3/3]
| contur::MessageQueue::MessageQueue |
( |
MessageQueue && | | ) |
|
|
noexcept |
◆ close()
| void contur::MessageQueue::close |
( |
| ) |
|
|
overridevirtual |
◆ isOpen()
| bool contur::MessageQueue::isOpen |
( |
| ) |
const |
|
nodiscardoverridevirtualnoexcept |
◆ isPriorityMode()
| bool contur::MessageQueue::isPriorityMode |
( |
| ) |
const |
|
nodiscardnoexcept |
True when priority ordering is enabled.
◆ maxMessages()
| std::size_t contur::MessageQueue::maxMessages |
( |
| ) |
const |
|
nodiscardnoexcept |
Maximum queue length in messages.
◆ name()
| std::string_view contur::MessageQueue::name |
( |
| ) |
const |
|
nodiscardoverridevirtualnoexcept |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ read()
| Result< std::size_t > contur::MessageQueue::read |
( |
std::span< std::byte > | buffer | ) |
|
|
nodiscardoverridevirtual |
Dequeues one message and copies its payload to buffer.
- Returns
- Copied byte count on success, or error.
Implements contur::IIpcChannel.
◆ receive()
Dequeues one message.
- Returns
- Message on success, or BufferEmpty/InvalidState.
◆ send()
| Result< void > contur::MessageQueue::send |
( |
const Message & | message | ) |
|
|
nodiscard |
Enqueues a typed message.
- Returns
- Ok on success, or BufferFull/InvalidState.
◆ size()
| std::size_t contur::MessageQueue::size |
( |
| ) |
const |
|
nodiscardnoexcept |
Number of currently queued messages.
◆ write()
| Result< std::size_t > contur::MessageQueue::write |
( |
std::span< const std::byte > | data | ) |
|
|
nodiscardoverridevirtual |
Enqueues a raw payload as a message.
- Returns
- Payload byte count on success, or error.
Implements contur::IIpcChannel.
◆ impl_
| std::unique_ptr<Impl> contur::MessageQueue::impl_ |
|
private |
The documentation for this class was generated from the following file: