iceoryx_doc  1.0.1
Public Types | Public Member Functions | Protected Member Functions | List of all members
iox::popo::ChunkQueuePusher< ChunkQueueDataType > Class Template Reference

The ChunkQueuePusher is the low layer building block to push SharedChunks in a chunk queue. Together with the ChunkDistributor and ChunkQueuePopper the ChunkQueuePusher builds the infrastructure to exchange memory chunks between different data producers and consumers that could be located in different processes. A ChunkQueuePusher is the part of the chunk queue that is knwon by the ChunkDistributor. More...

#include <chunk_queue_pusher.hpp>

Public Types

using MemberType_t = ChunkQueueDataType
 

Public Member Functions

 ChunkQueuePusher (cxx::not_null< MemberType_t *const > chunkQueueDataPtr) noexcept
 
 ChunkQueuePusher (const ChunkQueuePusher &other)=delete
 
ChunkQueuePusheroperator= (const ChunkQueuePusher &)=delete
 
 ChunkQueuePusher (ChunkQueuePusher &&rhs)=default
 
ChunkQueuePusheroperator= (ChunkQueuePusher &&rhs)=default
 
bool push (mepoo::SharedChunk chunk) noexcept
 push a new chunk to the chunk queue More...
 
void lostAChunk () noexcept
 tell the queue that it lost a chunk (e.g. because push failed and there will be no retry)
 

Protected Member Functions

const MemberType_t * getMembers () const noexcept
 
MemberType_t * getMembers () noexcept
 

Detailed Description

template<typename ChunkQueueDataType>
class iox::popo::ChunkQueuePusher< ChunkQueueDataType >

The ChunkQueuePusher is the low layer building block to push SharedChunks in a chunk queue. Together with the ChunkDistributor and ChunkQueuePopper the ChunkQueuePusher builds the infrastructure to exchange memory chunks between different data producers and consumers that could be located in different processes. A ChunkQueuePusher is the part of the chunk queue that is knwon by the ChunkDistributor.

Member Function Documentation

◆ push()

template<typename ChunkQueueDataType >
bool iox::popo::ChunkQueuePusher< ChunkQueueDataType >::push ( mepoo::SharedChunk  chunk)
inlinenoexcept

push a new chunk to the chunk queue

Parameters
[in]sharedchunk object
Returns
false if a queue overflow occurred, otherwise true

The documentation for this class was generated from the following files: