Class RouDiMemoryInterface

Inheritance Relationships

Derived Type

Class Documentation

class RouDiMemoryInterface

Subclassed by iox::roudi::IceOryxRouDiMemoryManager

Public Functions

RouDiMemoryInterface() noexcept = default
virtual ~RouDiMemoryInterface() noexcept = default

The Destructor of the RouDiMemoryInterface also calls destroy on the registered MemoryProvider.

RouDiMemoryInterface(RouDiMemoryInterface&&) = delete
RouDiMemoryInterface &operator=(RouDiMemoryInterface&&) = delete
RouDiMemoryInterface(const RouDiMemoryInterface&) = delete
RouDiMemoryInterface &operator=(const RouDiMemoryInterface&) = delete
virtual cxx::expected<RouDiMemoryManagerError> createAndAnnounceMemory() noexcept = 0

The RouDiMemoryManager calls the the MemoryProvider to create the memory and announce the availability to its MemoryBlocks.

Returns:

an RouDiMemoryManagerError if the MemoryProvider cannot create the memory, otherwise success

virtual cxx::expected<RouDiMemoryManagerError> destroyMemory() noexcept = 0

The RouDiMemoryManager calls the the MemoryProvider to destroy the memory, which in turn prompts the MemoryBlocks to destroy their data.

virtual const PosixShmMemoryProvider *mgmtMemoryProvider() const noexcept = 0
virtual cxx::optional<PortPool*> portPool() noexcept = 0
virtual cxx::optional<mepoo::MemoryManager*> introspectionMemoryManager() const noexcept = 0
virtual cxx::optional<mepoo::SegmentManager<>*> segmentManager() const noexcept = 0