eclipse-iceoryx / eclipse-iceoryx/iceoryx2

Overflow behavior shall be a property of the subscriber port, not the service

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

Description

## Brief feature description

Currently, the `enable_safe_overflow` behavior is part of the service but it should be actually a subscriber property for its buffer behavior.

Comment from @elBoberido :

I think it is not only a property of the subscriber but also the publisher. If it is only the subscriber one could easily create a denial of service. The publisher also has to opt in for the blocking.

Also the `safe overflow` property shall be renamed. Comments from a past discussion:
* I would go with `QueueMode`/`QueueType`/`QueueBehavior` and `RingBuffer`/`CircularBuffer` and `Fifo`
* My only objection is to "safe". Ideally the name is descriptive of what it actually does. Also keep in mind that the publisher and subscriber have different strategies to handle the same underlying issue -- there is one publisher, but multiple subscribers -- and each subscriber could have a different contract.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by tracing enable_safe_overflow from the service into subscriber and publisher buffer handling, then review the existing queue configuration and related API discussions. Done means the overflow behavior and naming are defined consistently for both publishers and subscribers, with the relevant behavior covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.