17#ifndef IOX_POSH_ROUDI_MEMORY_POSIX_SHM_MEMORY_PROVIDER_HPP
18#define IOX_POSH_ROUDI_MEMORY_POSIX_SHM_MEMORY_PROVIDER_HPP
20#include "iceoryx_posh/roudi/memory/memory_provider.hpp"
22#include "iceoryx_hoofs/cxx/expected.hpp"
23#include "iceoryx_hoofs/cxx/optional.hpp"
24#include "iceoryx_hoofs/cxx/string.hpp"
25#include "iceoryx_hoofs/internal/posix_wrapper/shared_memory_object.hpp"
26#include "iceoryx_posh/iceoryx_posh_types.hpp"
43 const posix::AccessMode accessMode,
44 const posix::OpenMode openMode)
noexcept;
64 posix::AccessMode m_accessMode{posix::AccessMode::READ_ONLY};
65 posix::OpenMode m_openMode{posix::OpenMode::OPEN_EXISTING};
66 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:69
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:36
PosixShmMemoryProvider(const ShmName_t &shmName, const posix::AccessMode accessMode, const posix::OpenMode openMode) noexcept
Constructs a PosixShmMemoryProvider which can be used to request memory via MemoryBlocks.
cxx::expected< void *, MemoryProviderError > createMemory(const uint64_t size, const uint64_t alignment) noexcept
This function needs to be implemented to provide the actual memory, e.g. in case of POSIX SHM,...
cxx::expected< MemoryProviderError > destroyMemory() noexcept
This function needs to be implemented to free the actual memory, e.g. in case of POSIX SHM,...
MemoryProviderError
Definition memory_provider.hpp:36