chronon::sender::IMessageQueue
#include <MessageQueue.hpp>
Inherited by chronon::sender::QueueAdapterImpl< T, SingleThreadMessageQueue< T > >, chronon::sender::LockFreeQueueAdapter< T >, chronon::sender::MultiProducerQueueAdapter< T >, chronon::sender::QueueAdapterImpl< T, QueueImpl >
Public Functions
| Name | |
|---|---|
| virtual | ~IMessageQueue() =default |
| virtual std::optional< T > | tryPop(uint64_t current_cycle) =0 |
| virtual size_t | storageCapacity() const |
| virtual size_t | size() const =0 |
| virtual void | setCapacity(size_t capacity) =0 |
| virtual bool | push(T data, uint64_t arrive_cycle) =0 |
| virtual void | popAllInto(std::vector< T > & out, uint64_t current_cycle) =0 Reusable-buffer drain: avoids the fresh-vector allocation popAll() makes per call. |
| virtual std::vector< T > | popAll(uint64_t current_cycle) =0 |
| virtual std::optional< uint64_t > | minArrivalCycle() const =0 |
| virtual bool | hasReady(uint64_t current_cycle) const =0 |
| virtual bool | full() const =0 |
| virtual bool | empty() const =0 |
| virtual void | clear() =0 |
| virtual size_t | capacity() const =0 |
| virtual size_t | available() const =0 |
| virtual size_t | admissionOccupancy(uint64_t send_cycle) const |
| virtual std::optional< uint64_t > | admissionMinArrivalCycle(uint64_t send_cycle) const |
Detailed Description
template <typename T >
class chronon::sender::IMessageQueue;
IMessageQueue - Type-erased interface for message queues.
Allows InPort to hold the selected registered-edge storage at runtime.
Public Functions Documentation
function ~IMessageQueue
virtual ~IMessageQueue() =default
function tryPop
virtual std::optional< T > tryPop(
uint64_t current_cycle
) =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::tryPop, chronon::sender::MultiProducerQueueAdapter::tryPop, chronon::sender::MultiProducerQueueAdapter::tryPop, chronon::sender::QueueAdapterImpl::tryPop, chronon::sender::QueueAdapterImpl::tryPop, chronon::sender::QueueAdapterImpl::tryPop
function storageCapacity
inline virtual size_t storageCapacity() const
Reimplemented by: chronon::sender::LockFreeQueueAdapter::storageCapacity, chronon::sender::MultiProducerQueueAdapter::storageCapacity, chronon::sender::MultiProducerQueueAdapter::storageCapacity, chronon::sender::QueueAdapterImpl::storageCapacity, chronon::sender::QueueAdapterImpl::storageCapacity, chronon::sender::QueueAdapterImpl::storageCapacity
function size
virtual size_t size() const =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::size, chronon::sender::MultiProducerQueueAdapter::size, chronon::sender::MultiProducerQueueAdapter::size, chronon::sender::QueueAdapterImpl::size, chronon::sender::QueueAdapterImpl::size, chronon::sender::QueueAdapterImpl::size
function setCapacity
virtual void setCapacity(
size_t capacity
) =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::setCapacity, chronon::sender::MultiProducerQueueAdapter::setCapacity, chronon::sender::MultiProducerQueueAdapter::setCapacity, chronon::sender::QueueAdapterImpl::setCapacity, chronon::sender::QueueAdapterImpl::setCapacity, chronon::sender::QueueAdapterImpl::setCapacity
function push
virtual bool push(
T data,
uint64_t arrive_cycle
) =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::push, chronon::sender::MultiProducerQueueAdapter::push, chronon::sender::MultiProducerQueueAdapter::push, chronon::sender::QueueAdapterImpl::push, chronon::sender::QueueAdapterImpl::push, chronon::sender::QueueAdapterImpl::push
function popAllInto
virtual void popAllInto(
std::vector< T > & out,
uint64_t current_cycle
) =0
Reusable-buffer drain: avoids the fresh-vector allocation popAll() makes per call.
Reimplemented by: chronon::sender::LockFreeQueueAdapter::popAllInto, chronon::sender::MultiProducerQueueAdapter::popAllInto, chronon::sender::MultiProducerQueueAdapter::popAllInto, chronon::sender::QueueAdapterImpl::popAllInto, chronon::sender::QueueAdapterImpl::popAllInto, chronon::sender::QueueAdapterImpl::popAllInto
function popAll
virtual std::vector< T > popAll(
uint64_t current_cycle
) =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::popAll, chronon::sender::MultiProducerQueueAdapter::popAll, chronon::sender::MultiProducerQueueAdapter::popAll, chronon::sender::QueueAdapterImpl::popAll, chronon::sender::QueueAdapterImpl::popAll, chronon::sender::QueueAdapterImpl::popAll
function minArrivalCycle
virtual std::optional< uint64_t > minArrivalCycle() const =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::minArrivalCycle, chronon::sender::MultiProducerQueueAdapter::minArrivalCycle, chronon::sender::MultiProducerQueueAdapter::minArrivalCycle, chronon::sender::QueueAdapterImpl::minArrivalCycle, chronon::sender::QueueAdapterImpl::minArrivalCycle, chronon::sender::QueueAdapterImpl::minArrivalCycle
function hasReady
virtual bool hasReady(
uint64_t current_cycle
) const =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::hasReady, chronon::sender::MultiProducerQueueAdapter::hasReady, chronon::sender::MultiProducerQueueAdapter::hasReady, chronon::sender::QueueAdapterImpl::hasReady, chronon::sender::QueueAdapterImpl::hasReady, chronon::sender::QueueAdapterImpl::hasReady
function full
virtual bool full() const =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::full, chronon::sender::MultiProducerQueueAdapter::full, chronon::sender::MultiProducerQueueAdapter::full, chronon::sender::QueueAdapterImpl::full, chronon::sender::QueueAdapterImpl::full, chronon::sender::QueueAdapterImpl::full
function empty
virtual bool empty() const =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::empty, chronon::sender::MultiProducerQueueAdapter::empty, chronon::sender::MultiProducerQueueAdapter::empty, chronon::sender::QueueAdapterImpl::empty, chronon::sender::QueueAdapterImpl::empty, chronon::sender::QueueAdapterImpl::empty
function clear
virtual void clear() =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::clear, chronon::sender::MultiProducerQueueAdapter::clear, chronon::sender::MultiProducerQueueAdapter::clear, chronon::sender::QueueAdapterImpl::clear, chronon::sender::QueueAdapterImpl::clear, chronon::sender::QueueAdapterImpl::clear
function capacity
virtual size_t capacity() const =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::capacity, chronon::sender::MultiProducerQueueAdapter::capacity, chronon::sender::MultiProducerQueueAdapter::capacity, chronon::sender::QueueAdapterImpl::capacity, chronon::sender::QueueAdapterImpl::capacity, chronon::sender::QueueAdapterImpl::capacity
function available
virtual size_t available() const =0
Reimplemented by: chronon::sender::LockFreeQueueAdapter::available, chronon::sender::MultiProducerQueueAdapter::available, chronon::sender::MultiProducerQueueAdapter::available, chronon::sender::QueueAdapterImpl::available, chronon::sender::QueueAdapterImpl::available, chronon::sender::QueueAdapterImpl::available
function admissionOccupancy
inline virtual size_t admissionOccupancy(
uint64_t send_cycle
) const
Reimplemented by: chronon::sender::LockFreeQueueAdapter::admissionOccupancy
function admissionMinArrivalCycle
inline virtual std::optional< uint64_t > admissionMinArrivalCycle(
uint64_t send_cycle
) const
Reimplemented by: chronon::sender::LockFreeQueueAdapter::admissionMinArrivalCycle
Updated on 2026-07-06 at 09:03:33 +0000