chronon::sender::LockFreeQueueAdapter
#include <MessageQueue.hpp>
Inherits from chronon::sender::IMessageQueue< T >
Public Functions
| Name | |
|---|---|
| virtual std::optional< T > | tryPop(uint64_t current_cycle) override |
| virtual size_t | size() const override |
| virtual void | setCapacity(size_t capacity) override |
| virtual bool | push(T data, uint64_t arrive_cycle) override |
| virtual std::vector< T > | popAll(uint64_t current_cycle) override |
| virtual std::optional< uint64_t > | minArrivalCycle() const override |
| virtual bool | hasReady(uint64_t current_cycle) const override |
| virtual bool | full() const override |
| virtual bool | empty() const override |
| virtual void | clear() override |
| virtual size_t | capacity() const override |
| virtual size_t | available() const override |
| LockFreeQueueAdapter(size_t capacity =LockFreeMessageQueue< T >::USABLE_CAPACITY) |
Additional inherited members
Public Functions inherited from chronon::sender::IMessageQueue< T >
| Name | |
|---|---|
| virtual | ~IMessageQueue() =default |
Detailed Description
template <typename T >
class chronon::sender::LockFreeQueueAdapter;
LockFreeQueueAdapter - Adapts LockFreeMessageQueue to IMessageQueue interface.
Used for cross-thread SPSC (Single-Producer Single-Consumer) connections. No mutex needed - uses atomic operations for thread-safe communication between one producer thread and one consumer thread.
Public Functions Documentation
function tryPop
inline virtual std::optional< T > tryPop(
uint64_t current_cycle
) override
Reimplements: chronon::sender::IMessageQueue::tryPop
function size
inline virtual size_t size() const override
Reimplements: chronon::sender::IMessageQueue::size
function setCapacity
inline virtual void setCapacity(
size_t capacity
) override
Reimplements: chronon::sender::IMessageQueue::setCapacity
function push
inline virtual bool push(
T data,
uint64_t arrive_cycle
) override
Reimplements: chronon::sender::IMessageQueue::push
function popAll
inline virtual std::vector< T > popAll(
uint64_t current_cycle
) override
Reimplements: chronon::sender::IMessageQueue::popAll
function minArrivalCycle
inline virtual std::optional< uint64_t > minArrivalCycle() const override
Reimplements: chronon::sender::IMessageQueue::minArrivalCycle
function hasReady
inline virtual bool hasReady(
uint64_t current_cycle
) const override
Reimplements: chronon::sender::IMessageQueue::hasReady
function full
inline virtual bool full() const override
Reimplements: chronon::sender::IMessageQueue::full
function empty
inline virtual bool empty() const override
Reimplements: chronon::sender::IMessageQueue::empty
function clear
inline virtual void clear() override
Reimplements: chronon::sender::IMessageQueue::clear
function capacity
inline virtual size_t capacity() const override
Reimplements: chronon::sender::IMessageQueue::capacity
function available
inline virtual size_t available() const override
Reimplements: chronon::sender::IMessageQueue::available
function LockFreeQueueAdapter
inline explicit LockFreeQueueAdapter(
size_t capacity =LockFreeMessageQueue< T >::USABLE_CAPACITY
)
Updated on 2026-05-26 at 05:42:32 +0000