Skip to content

iox::popo::ChunkQueuePusher🔗

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🔗

Name
using ChunkQueueDataType MemberType_t

Public Functions🔗

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

Protected Functions🔗

Name
const MemberType_t * getMembers() const
MemberType_t * getMembers()

Detailed Description🔗

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

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.

Public Types Documentation🔗

using MemberType_t🔗

using iox::popo::ChunkQueuePusher< ChunkQueueDataType >::MemberType_t =  ChunkQueueDataType;

Public Functions Documentation🔗

function ChunkQueuePusher🔗

inline explicit ChunkQueuePusher(
    cxx::not_null< MemberType_t *const > chunkQueueDataPtr
)

function ChunkQueuePusher🔗

ChunkQueuePusher(
    const ChunkQueuePusher & other
)

function operator=🔗

ChunkQueuePusher & operator=(
    const ChunkQueuePusher & 
)

function ChunkQueuePusher🔗

ChunkQueuePusher(
    ChunkQueuePusher && rhs
) =default

function operator=🔗

ChunkQueuePusher & operator=(
    ChunkQueuePusher && rhs
) =default

function ~ChunkQueuePusher🔗

~ChunkQueuePusher() =default

function push🔗

inline bool push(
    mepoo::SharedChunk chunk
)

push a new chunk to the chunk queue

Parameters:

  • shared chunk object

Return: false if a queue overflow occurred, otherwise true

function lostAChunk🔗

inline void lostAChunk()

tell the queue that it lost a chunk (e.g. because push failed and there will be no retry)

Protected Functions Documentation🔗

function getMembers🔗

inline const MemberType_t * getMembers() const

function getMembers🔗

MemberType_t * getMembers()

Updated on 26 April 2021 at 15:31:02 CEST