|
Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
|
Event queue composing QueuePolicy, SignalPolicy, and OverflowPolicy strategy types. More...
#include <EventQueue.hpp>
Inheritance diagram for corium::internal::EventQueue< QueuePolicy, SignalPolicy, OverflowPolicy >:
Collaboration diagram for corium::internal::EventQueue< QueuePolicy, SignalPolicy, OverflowPolicy >:Public Types | |
| using | EventVariant = typename QueuePolicy::EventType |
Public Member Functions | |
| bool | empty () const |
| Check if event queue is empty. | |
| EventQueue ()=default | |
| const OverflowPolicy & | overflowPolicy () const noexcept |
| Access const reference to overflow policy. | |
| OverflowPolicy & | overflowPolicy () noexcept |
| Access reference to overflow policy. | |
| bool | pushEvent (const EventVariant &event, EventPriority priority=EventPriority::Normal) |
| Push an event into the queue (const lvalue overload). | |
| bool | pushEvent (EventVariant &&event, EventPriority priority=EventPriority::Normal) |
| Push an event into the queue and trigger signal policy on 0->1 transition (rvalue overload). | |
| void | setOnQueueNonEmpty (StaticCallback callback) |
| Set non-allocating static callback triggered when queue transitions from empty to non-empty. | |
| const SignalPolicy & | signalPolicy () const noexcept |
| Access const reference to signal policy. | |
| SignalPolicy & | signalPolicy () noexcept |
| Access reference to signal policy. | |
| std::optional< EventVariant > | tryPopEvent () |
| Pop an event from the queue. | |
| bool | tryPopEvent (EventVariant &event) |
| Pop an event directly into output reference without intermediate optional. | |
Event queue composing QueuePolicy, SignalPolicy, and OverflowPolicy strategy types.
| QueuePolicy | Queueing policy strategy. |
| SignalPolicy | Signaling policy strategy. |
| OverflowPolicy | Strategy for handling queue overflow when capacity is exceeded. |
| using corium::internal::EventQueue< QueuePolicy, SignalPolicy, OverflowPolicy >::EventVariant = typename QueuePolicy::EventType |
|
default |
|
inline |
Check if event queue is empty.
|
inlinenoexcept |
Access const reference to overflow policy.
|
inlinenoexcept |
Access reference to overflow policy.
|
inline |
Push an event into the queue (const lvalue overload).
Here is the call graph for this function:
|
inline |
Push an event into the queue and trigger signal policy on 0->1 transition (rvalue overload).
Here is the caller graph for this function:
|
inline |
Set non-allocating static callback triggered when queue transitions from empty to non-empty.
|
inlinenoexcept |
Access const reference to signal policy.
|
inlinenoexcept |
Access reference to signal policy.
|
inline |
Pop an event from the queue.
|
inline |
Pop an event directly into output reference without intermediate optional.