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

Add QoS configuration overwrites for publication messages #1613

Merged

Conversation

oteffahi
Copy link
Contributor

@oteffahi oteffahi commented Nov 26, 2024

Enables users to overwrite QoS parameters for publication messages through config file. These overwrites will apply over Zenoh API configurations.

Overwrites are defined per key expression, which will apply the config on publications with key expressions included (as in the relationship of inclusion between key expressions) in the configured key expressions.

The new config format is the following. Note that config fields are Options, users don't have to overwrite everything.

{
  qos: {
    publication: [
      {
        key_exprs: ["demo/**", "example/key"],
        config: {
          congestion_control: "block",
          priority: "data_high",
          express: true,
          // Note: reliability and destination require Zenoh to be compiled with the "unstable" feature
          reliability: "best_effort",
          allowed_destination: "remote",
        },
      },
    ],
  }
}

@oteffahi oteffahi self-assigned this Nov 26, 2024
Copy link

PR missing one of the required labels: {'internal', 'enhancement', 'breaking-change', 'dependencies', 'bug', 'new feature', 'documentation'}

@oteffahi oteffahi added the new feature Something new is needed label Nov 26, 2024
commons/zenoh-config/src/builders.rs Outdated Show resolved Hide resolved
DEFAULT_CONFIG.json5 Outdated Show resolved Hide resolved
zenoh/src/api/session.rs Outdated Show resolved Hide resolved
@gabrik
Copy link
Contributor

gabrik commented Nov 27, 2024

@RemiBarthe 👀

@oteffahi oteffahi marked this pull request as ready for review November 28, 2024 13:19
@oteffahi
Copy link
Contributor Author

Converting to Draft to apply the following changes:

  • Config should overwrite default builder and even API calls.
  • Config should also apply on session.put and overwrite its API calls.

@oteffahi oteffahi marked this pull request as draft November 28, 2024 15:55
@oteffahi oteffahi marked this pull request as ready for review December 2, 2024 17:59
@oteffahi oteffahi changed the title Add QoS configuration overwrites for publisher builder Add QoS configuration overwrites for publication messages Dec 4, 2024
@OlivierHecart OlivierHecart merged commit b3ccf82 into eclipse-zenoh:main Dec 4, 2024
13 checks passed
@OlivierHecart OlivierHecart deleted the qos/pub-builders-config branch December 4, 2024 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature Something new is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants