16 #ifndef IOX_POSH_ROUDI_MEMORY_POSIX_SHM_MEMORY_PROVIDER_HPP
17 #define IOX_POSH_ROUDI_MEMORY_POSIX_SHM_MEMORY_PROVIDER_HPP
19 #include "iceoryx_posh/roudi/memory/memory_provider.hpp"
21 #include "iceoryx_posh/iceoryx_posh_types.hpp"
22 #include "iceoryx_utils/cxx/expected.hpp"
23 #include "iceoryx_utils/cxx/optional.hpp"
24 #include "iceoryx_utils/cxx/string.hpp"
25 #include "iceoryx_utils/internal/posix_wrapper/shared_memory_object.hpp"
43 const posix::AccessMode accessMode,
44 const posix::OwnerShip ownership) noexcept;
67 posix::AccessMode m_accessMode{posix::AccessMode::READ_ONLY};
68 posix::OwnerShip m_ownership{posix::OwnerShip::OPEN_EXISTING};
69 cxx::optional<posix::SharedMemoryObject> m_shmObject;
This class creates memory which is requested by the MemoryBlocks. Once the memory is available,...
Definition: memory_provider.hpp:72
uint64_t size() const noexcept
This function provides the size of the created memory.
Creates the shared memory based on a provided configuration.
Definition: posix_shm_memory_provider.hpp:35
PosixShmMemoryProvider(const ShmName_t &shmName, const posix::AccessMode accessMode, const posix::OwnerShip ownership) noexcept
Constructs a PosixShmMemoryProvider which can be used to request memory via MemoryBlocks.
cxx::expected< MemoryProviderError > destroyMemory() noexcept
Implementation of MemoryProvider::destroyMemory.
cxx::expected< void *, MemoryProviderError > createMemory(const uint64_t size, const uint64_t alignment) noexcept
Implementation of MemoryProvider::createMemory.
MemoryProviderError
Definition: memory_provider.hpp:36
Definition: service_description.hpp:29