Template Struct ChunkQueueData

Inheritance Relationships

Base Type

  • public LockingPolicy

Derived Types

Struct Documentation

template<typename ChunkQueueDataProperties, typename LockingPolicy>
struct ChunkQueueData : public LockingPolicy

Subclassed by iox::popo::ChunkReceiverData< MAX_RESPONSES_PROCESSED_SIMULTANEOUSLY, ClientChunkQueueData_t >, iox::popo::ChunkReceiverData< MAX_REQUESTS_PROCESSED_SIMULTANEOUSLY, ServerChunkQueueData_t >

Public Types

using ThisType_t = ChunkQueueData<ChunkQueueDataProperties, LockingPolicy>
using LockGuard_t = std::lock_guard<const ThisType_t>
using ChunkQueueDataProperties_t = ChunkQueueDataProperties

Public Functions

ChunkQueueData(const QueueFullPolicy policy, const cxx::VariantQueueTypes queueType) noexcept

Public Members

cxx::UniqueId m_uniqueId = {}
cxx::VariantQueue<mepoo::ShmSafeUnmanagedChunk, MAX_CAPACITY> m_queue
std::atomic_bool m_queueHasLostChunks = {false}
rp::RelativePointer<ConditionVariableData> m_conditionVariableDataPtr
cxx::optional<uint64_t> m_conditionVariableNotificationIndex
const QueueFullPolicy m_queueFullPolicy

Public Static Attributes

static constexpr uint64_t MAX_CAPACITY = ChunkQueueDataProperties_t::MAX_QUEUE_CAPACITY