Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move reliability parameter from subscriber to publisher #1348

Closed
6 of 7 tasks
Mallets opened this issue Sep 3, 2024 · 4 comments
Closed
6 of 7 tasks

Move reliability parameter from subscriber to publisher #1348

Mallets opened this issue Sep 3, 2024 · 4 comments
Labels
release Part of the next release umbrella The task which covers multiple other tasks

Comments

@Mallets
Copy link
Member

Mallets commented Sep 3, 2024

Describe the release item

At the moment reliability parameter is set at subscriber declaration.
However, handling the proper setting of reliability value of any publication requires quite a complex matching strategy that may have a negative impact on performance. Moreover, propagating the subscription declaration requires a complex update/merging strategy upon interleaved declare/undeclare.

Therefore, it would be recommended to move the reliability parameter from the subscriber to the publisher.
Current:

let sub = session.declare_subscriber("foo").reliability(Reliability::Reliable).await.unwrap();
let pub = session.declare_publisher("foo").await.unwrap();
session.put("foo").await.unwrap();

New:

let sub = session.declare_subscriber("foo").await.unwrap();
let pub = session.declare_publisher("foo").reliability(Reliability::Reliable).await.unwrap();
session.put("foo").reliability(Reliability::Reliable).await.unwrap();

In addition, the default value of Reliability should be set to Reliable and not BestEffort as it is in the current version.

@wyfo
Copy link
Contributor

wyfo commented Sep 9, 2024

For Python: eclipse-zenoh/zenoh-python#308
@Mallets As the reliability parameter is unstable for declare_publisher, and as there is even no reliability getter for Publisher, should it be added to Python now?

@DariusIMP
Copy link
Member

For Kotlin: eclipse-zenoh/zenoh-kotlin#199

@Mallets
Copy link
Member Author

Mallets commented Sep 11, 2024

For Python: eclipse-zenoh/zenoh-python#308 @Mallets As the reliability parameter is unstable for declare_publisher, and as there is even no reliability getter for Publisher, should it be added to Python now?

Yes. If the reliability getter is missing in Rust, we can add it.

EDIT: Added in #1393

@milyin
Copy link
Contributor

milyin commented Sep 13, 2024

Closing the issue, the TS issue remains, but no need to track it here

@milyin milyin closed this as completed Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Part of the next release umbrella The task which covers multiple other tasks
Projects
Status: Done
Development

No branches or pull requests

4 participants