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

Added support for Participant discovery and additional QoS policies #137

Merged
merged 42 commits into from
Aug 10, 2023

Conversation

gmartin82
Copy link
Contributor

@gmartin82 gmartin82 commented Jul 6, 2023

This PR adds support for the following:

  • Discovery of DDS participants via the built-in topics. Information about discovered participants is added to the admin space including the QoS policies for the participant.
  • Added support for all Cyclone DDS QoS policies other than the non-standard binary properties policy. The QoS that applies to an entity is discovered through the built-in topics and is the effective QoS that applies to the entity (including QoS values inherited from entities such as a topic).

Note that due to a limitation of bincode it was not possible to use the skip_serializing_if feature of serde to skip any QoS values which were None. Instead, to prevent queries to the admin space returning QoS with many null values I implemented a function to strip any null QoS values from the returned serde JSON object.

Supports all QoS policies other than binary properties (a non
standard QoS policy).

Participants are now discovered and details added to the Zenoh
admin space.
It was not possible to prevent serde from serializing null values
with the #[serde(skip_serializing_if = "Option::is_none")] as
bincode is unable to serialize/deserialize such messages.

To avoid null QoS values being added to the admin space a filter
function was written to remove null values from the serde_json::Value
before returning the result of an admin space query.
@JEnoch JEnoch merged commit 99208ae into eclipse-zenoh:master Aug 10, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants