Skip to content

iox::mepoo🔗

Mepoo Component Description.

Classes🔗

Name
struct iox::mepoo::ChunkHeader
struct iox::mepoo::ChunkManagement
class iox::mepoo::ChunkSettings
struct iox::mepoo::MemoryInfo
Stores properties of the memory to be used when we distinguish between different types of memory on e.g. different devices with different characteristics.
class iox::mepoo::MemoryManager
class iox::mepoo::MemPool
struct iox::mepoo::MemPoolInfo
struct iox::mepoo::MePooConfig
class iox::mepoo::MePooSegment
struct iox::mepoo::NoUserHeader
Helper struct to use as default template parameter when no user-header is used.
struct iox::mepoo::SegmentConfig
class iox::mepoo::SegmentManager
class iox::mepoo::SharedChunk
WARNING: SharedChunk is not thread safe! Don't share SharedChunk objects between threads! Use for each thread a separate copy.
class iox::mepoo::SharedPointer
DesignPattern::Creation offers us a create method which forwards the arguments to the constructor. Use this class like in the code example below.
class iox::mepoo::ShmSafeUnmanagedChunk
This class to safely store a chunk in shared memory. To be able to do so, torn writes/reads need to prevented, since they create Frankenstein objects. Therefore, the class must not be larger than 64 bits and trivially copy-able in case an application dies while writing this and RouDi needs to clean up.
class iox::mepoo::TypedMemPool

Types🔗

Name
enum SharedPointerError
enum TypedMemPoolError
using std::uint64_t SequenceNumber_t
using std::chrono::steady_clock BaseClock_t
using std::chrono::duration< std::int64_t, std::nano > DurationNs_t
using std::chrono::time_point< BaseClock_t, DurationNs_t > TimePointNs_t

Types Documentation🔗

enum SharedPointerError🔗

Enumerator Value Description
INVALID_STATE
SharedChunkIsEmpty

enum TypedMemPoolError🔗

Enumerator Value Description
INVALID_STATE
OutOfChunks
FatalErrorReachedInconsistentState

using SequenceNumber_t🔗

using iox::mepoo::SequenceNumber_t = typedef std::uint64_t;

using BaseClock_t🔗

using iox::mepoo::BaseClock_t = typedef std::chrono::steady_clock;

using DurationNs_t🔗

using iox::mepoo::DurationNs_t = typedef std::chrono::duration<std::int64_t, std::nano>;

using TimePointNs_t🔗

using iox::mepoo::TimePointNs_t = typedef std::chrono::time_point<BaseClock_t, DurationNs_t>;

Updated on 26 April 2021 at 15:31:02 CEST