Skip to main content

chronon::sender::IMessageQueue

More...

#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_tstorageCapacity() const
virtual size_tsize() const =0
virtual voidsetCapacity(size_t capacity) =0
virtual boolpush(T data, uint64_t arrive_cycle) =0
virtual voidpopAllInto(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 boolhasReady(uint64_t current_cycle) const =0
virtual boolfull() const =0
virtual boolempty() const =0
virtual voidclear() =0
virtual size_tcapacity() const =0
virtual size_tavailable() const =0
virtual size_tadmissionOccupancy(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