Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
QueuePolicies.hpp File Reference

Bounded and multi-tier priority MPSC queueing policies. More...

#include <cstddef>
#include <cstdint>
#include <queue>
#include <type_traits>
#include <utility>
#include "corium/Events.hpp"
#include "corium/MpscRingBuffer.hpp"
+ Include dependency graph for QueuePolicies.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  corium::BlockingQueuePolicy< EventVariant >
 Queue Policy for a traditional mutex-protected blocking queue (power saving). More...
 
class  corium::BoundedMpscQueuePolicy< EventVariant, Capacity >
 Queue Policy for fixed-capacity, zero-allocation lock-free MPSC RingBuffer. More...
 
class  corium::NoQueuePolicy< EventVariant >
 Zero-overhead Queue Policy for services or buses that do not receive or queue incoming events. Occupies zero storage space when combined with [[no_unique_address]] in container types. More...
 
class  corium::PriorityMpscQueuePolicy< EventVariant, HighCapacity, NormalCapacity, LowCapacity >
 Queue Policy supporting strict event priorities using separate lock-free MPSC ring buffers. High priority events are always popped and dispatched before Normal/Low priority events. More...
 
struct  corium::BoundedMpscQueuePolicy< EventVariant, Capacity >::PushResult
 
struct  corium::PriorityMpscQueuePolicy< EventVariant, HighCapacity, NormalCapacity, LowCapacity >::PushResult
 
struct  corium::BlockingQueuePolicy< EventVariant >::PushResult
 
struct  corium::NoQueuePolicy< EventVariant >::PushResult
 

Namespaces

namespace  corium
 

Macros

#define CORIUM_HAS_STD_MUTEX   0
 

Enumerations

enum class  corium::EventPriority : uint8_t { corium::High = 0 , corium::Normal = 1 , corium::Low = 2 }
 Event priority levels for multi-priority queue policies. More...
 

Detailed Description

Bounded and multi-tier priority MPSC queueing policies.

Macro Definition Documentation

◆ CORIUM_HAS_STD_MUTEX

#define CORIUM_HAS_STD_MUTEX   0