17 #ifndef IOX_POSH_POPO_BUILDING_BLOCKS_CHUNK_SENDER_DATA_HPP
18 #define IOX_POSH_POPO_BUILDING_BLOCKS_CHUNK_SENDER_DATA_HPP
20 #include "iceoryx_posh/iceoryx_posh_types.hpp"
21 #include "iceoryx_posh/internal/mepoo/memory_manager.hpp"
22 #include "iceoryx_posh/internal/mepoo/shm_safe_unmanaged_chunk.hpp"
23 #include "iceoryx_posh/internal/popo/building_blocks/chunk_distributor_data.hpp"
24 #include "iceoryx_posh/internal/popo/used_chunk_list.hpp"
25 #include "iceoryx_posh/mepoo/memory_info.hpp"
26 #include "iceoryx_utils/cxx/helplets.hpp"
32 template <u
int32_t MaxChunksAllocatedSimultaneously,
typename ChunkDistributorDataType>
35 explicit ChunkSenderData(cxx::not_null<mepoo::MemoryManager* const> memoryManager,
36 const SubscriberTooSlowPolicy subscriberTooSlowPolicy,
37 const uint64_t historyCapacity = 0U,
40 using ChunkDistributorData_t = ChunkDistributorDataType;
42 const rp::RelativePointer<mepoo::MemoryManager> m_memoryMgr;
45 mepoo::SequenceNumber_t m_sequenceNumber{0U};
52 #include "iceoryx_posh/internal/popo/building_blocks/chunk_sender_data.inl"
This class to safely store a chunk in shared memory. To be able to do so, torn writes/reads need to p...
Definition: shm_safe_unmanaged_chunk.hpp:31
Definition: service_description.hpp:29
Stores properties of the memory to be used when we distinguish between different types of memory on e...
Definition: memory_info.hpp:28
Definition: chunk_sender_data.hpp:34