/home/runner/work/HiCR/HiCR/include/hicr/frontends/channel/variableSize/mpsc/nonlocking/consumer.hpp Source File
HiCR
|
consumer.hpp
87 std::shared_ptr<variableSize::SPSC::Consumer> consumerPtr(new variableSize::SPSC::Consumer(communicationManager,
134 if (_channelPushes.empty()) HICR_THROW_RUNTIME("Attempting to peek position (%lu) but supporting queue has size (%lu)", pos, _channelPushes.size());
137 if (channelId >= _spscList.size()) { HICR_THROW_LOGIC("channelId (%lu) >= _spscList.size() (%lu)", channelId, _spscList.size()); }
158 HICR_THROW_LOGIC("Helper FIFO and channels are out of sync, implemenation issue! getDepth (%lu) != _channelPushes.size() (%lu)", totalDepth, _channelPushes.size());
179 HICR_THROW_RUNTIME("Attempting to pop (%lu) tokens, which is more than the number of current tokens in the channel (%lu)", n, getDepth());
229 if (getDepth() != _channelPushes.size()) { HICR_THROW_LOGIC("getDepth (%lu) != _channelPushes.size() (%lu)", getDepth(), _channelPushes.size()); }
Definition communicationManager.hpp:54
virtual __INLINE__ void flushReceived()
Definition communicationManager.hpp:492
Definition consumer.hpp:37
__INLINE__ size_t getDepth()
Definition consumer.hpp:151
__INLINE__ std::array< size_t, 3 > peek(const size_t pos=0)
Definition consumer.hpp:125
__INLINE__ bool isEmpty()
Definition consumer.hpp:167
__INLINE__ void updateDepth()
Definition consumer.hpp:207
__INLINE__ void pop(const size_t n=1)
Definition consumer.hpp:174
Consumer(CommunicationManager &communicationManager, const std::vector< std::shared_ptr< GlobalMemorySlot > > &payloadBuffers, const std::vector< std::shared_ptr< GlobalMemorySlot > > &tokenBuffers, const std::vector< std::shared_ptr< LocalMemorySlot > > &internalCoordinationBufferForCounts, const std::vector< std::shared_ptr< LocalMemorySlot > > &internalCoordinationBufferForPayloads, const std::vector< std::shared_ptr< GlobalMemorySlot > > &producerCoordinationBufferForCounts, const std::vector< std::shared_ptr< GlobalMemorySlot > > &producerCoordinationBufferForPayloads, const size_t payloadCapacity, const size_t payloadSize, const size_t capacity)
Definition consumer.hpp:64
Definition consumer.hpp:42
Provides functionality for a var-size SPSC consumer channel.
Generated by