eclipse-iceoryx / eclipse-iceoryx/iceoryx
Expose the MemPoolInfo of matching memory pools to typed endpoints
- 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
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