eclipse-iceoryx / eclipse-iceoryx/iceoryx2

Make DynamicStorage type alias generic

Open
#882 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
2.5k
Forks
185
Avg merge
1d 23h
Merged PRs (30d)
47

Description

Currently it is possible to create an inconsistent service variant, e.g. a local variant that uses POSIX shared memory for the blackboard (see https://github.com/eclipse-iceoryx/iceoryx2/pull/872#discussion_r2212879127). To prevent this, we could adjust the `DynamicStorage` type alias in `iceoryx2/src/service/mod.rs` to be a generic type alias like `trait DynamicStorage: DynamicStorage` and either use it for the `BlackboardMgmt` like `type BlackboardMgmt: Self::DynamicStorage` or even remove the type alias for `BlackboardMgmt`. The same can be applied to the `BlackboardPayload` when we generalize the `SharedMemory` type alias.

Contributor guide

Open the contributing guide

Research direction

Start in iceoryx2/src/service/mod.rs and inspect the DynamicStorage, BlackboardMgmt, BlackboardPayload, and SharedMemory aliases. Determine the consistent generic relationship required for service variants, then verify that the affected aliases prevent incompatible storage combinations across the service implementations.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
distributed-systems
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.