eclipse-iceoryx / eclipse-iceoryx/iceoryx

Remove potential redundancies introduced by storing port options

Open
#1,048 1 comment 0 reactions 0 assignees View on GitHub
refactoring
Dominant language
C++
Stars
2.2k
Forks
492
Avg merge
18h 57m
Merged PRs (30d)
1

Description

## Brief feature description

By adding PublisherOptions and SubscriberOptions to PublisherPortData and SubscriberPortData in #1029 we may have introduced redundancies since some of the values could be (implicitly) stored at lower levels (e.g. members in ChunkReceiverData, queue capacities etc.).

While having the options in one place (as it is now) is preferable, we need to make sure that the overall design does not allow to create inconsistent or invalid port configurations. Considering the current dependencies it is not immediately clear whether this is currently the case.

Goal: The options of a port must always reflect how it is actually configured.

## Detailed information

1. Further dependency and data member analysis needed (wrt. port options)
2. If necessary refactor PublisherPortData and SubscriberPortData to make it impossible to create inconsistent port configurations (if this is currently possible)

Note: in the default use cases it should not be possible to create inconsistent configurations as of now. (e.g. after using invoking the constructors).

Contributor guide

Open the contributing guide

Research direction

Start by tracing PublisherOptions and SubscriberOptions through PublisherPortData and SubscriberPortData, then compare them with lower-level members such as ChunkReceiverData and queue capacities. Review the changes introduced by #1029 and determine whether any construction path can produce inconsistent port configurations. Done means the options always reflect the actual configuration and invalid combinations cannot be created.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
distributed-systems
Issue type
Refactor
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.