eclipse-iceoryx / eclipse-iceoryx/iceoryx

Expose the MemPoolInfo of matching memory pools to typed endpoints

Open
#2,092 50 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
2.2k
Forks
492
Avg merge
18h 57m
Merged PRs (30d)
1

Description

## Brief feature description

I would like the ability to somehow query the info of a particular memory pool that will be used for a comms endpoint's messages.

## Detailed information

A full proof of concept is linked below:

https://github.com/eclipse-iceoryx/iceoryx/compare/master...gpalmer-latai:iceoryx:gpalmer/expose_mempool

The basic gist is that I've added a `m_basePtr` to the `MemPoolInfo` struct to inform consumers about where the actual memory pool is located. Then I've exposed some APIs to be able to lift that information all the way out to a typed publisher.

## Alternatives Considered

Instead of lifting out the memory pool information through the layers of port info, it might be nice/favorable if we could

1. Have more control over which comms endpoints use which memory pools by e.g. adding service info constraints to the memory pool config entries in the roudi config (only these publishers/subscribers use this memory pool), as well as "memory constraints" (the memory type of this pool is "pinned")
2. Being able to query the runtime/roudi directly for information about a particular memory pool. I know there is some infrastructure here for introspection, but I'm not sure how I could use that to find the particular memory pool of interest.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the linked proof of concept and tracing how MemPoolInfo moves through port information to a typed publisher. Compare that approach with the requested roudi/runtime introspection and memory-pool constraints; done means the project has a decided, documented API for querying the matching pool information.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend-api-design, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.