Template Class SegmentManager
Defined in File segment_manager.hpp
Nested Relationships
Nested Types
Class Documentation
-
template<typename SegmentType = MePooSegment<>>
class SegmentManager Public Types
-
using SegmentMappingContainer = cxx::vector<SegmentMapping, MAX_SHM_SEGMENTS>
Public Functions
-
SegmentManager(const SegmentConfig &segmentConfig, posix::Allocator *managementAllocator) noexcept
-
~SegmentManager() noexcept = default
-
SegmentManager(const SegmentManager &rhs) = delete
-
SegmentManager(SegmentManager &&rhs) = delete
-
SegmentManager &operator=(const SegmentManager &rhs) = delete
-
SegmentManager &operator=(SegmentManager &&rhs) = delete
-
SegmentMappingContainer getSegmentMappings(const posix::PosixUser &user) noexcept
-
SegmentUserInformation getSegmentInformationWithWriteAccessForUser(const posix::PosixUser &user) noexcept
Public Static Functions
-
static uint64_t requiredManagementMemorySize(const SegmentConfig &config) noexcept
-
static uint64_t requiredChunkMemorySize(const SegmentConfig &config) noexcept
-
static uint64_t requiredFullMemorySize(const SegmentConfig &config) noexcept
Friends
- friend class roudi::MemPoolIntrospection
-
struct SegmentMapping
Public Functions
-
inline SegmentMapping(const ShmName_t &sharedMemoryName, const void *const startAddress, uint64_t size, bool isWritable, uint64_t segmentId, const iox::mepoo::MemoryInfo &memoryInfo = iox::mepoo::MemoryInfo()) noexcept
-
inline SegmentMapping(const ShmName_t &sharedMemoryName, const void *const startAddress, uint64_t size, bool isWritable, uint64_t segmentId, const iox::mepoo::MemoryInfo &memoryInfo = iox::mepoo::MemoryInfo()) noexcept
-
struct SegmentUserInformation
Public Members
-
cxx::optional<std::reference_wrapper<MemoryManager>> m_memoryManager
-
uint64_t m_segmentID
-
cxx::optional<std::reference_wrapper<MemoryManager>> m_memoryManager
-
using SegmentMappingContainer = cxx::vector<SegmentMapping, MAX_SHM_SEGMENTS>