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 unicast interest feature #349

Merged

Conversation

jean-roland
Copy link
Contributor

@jean-roland jean-roland commented Feb 20, 2024

This PR is the first concerning the upcoming Declare interest feature, it contains mainly the modification for unicast/client but also prepare the terrain for multicast/peer.

  • Add a config token to toggle the non-mandatory part of the feature
  • Add the interest module that handles interest management at the session level and the processing of interest related messages (tx and rx)
  • Add the filtering module that build on the interest module to add a writer side filtering for publishers (they won't write on the network until they receive a declare subscriber).
  • Add the basic multicast logic to reply to interest messages.

This is a partial implementation of #331

@eclipse-zenoh-bot
Copy link

@jean-roland If this pull request contains a bugfix or a new feature, then please consider using Closes #ISSUE-NUMBER syntax to link it to an issue.

1 similar comment
@eclipse-zenoh-bot
Copy link

@jean-roland If this pull request contains a bugfix or a new feature, then please consider using Closes #ISSUE-NUMBER syntax to link it to an issue.

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cppcheck (reported by Codacy) found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@eclipse-zenoh-bot
Copy link

@jean-roland If this pull request contains a bugfix or a new feature, then please consider using Closes #ISSUE-NUMBER syntax to link it to an issue.

@jean-roland jean-roland marked this pull request as ready for review February 20, 2024 11:13
@jean-roland jean-roland changed the base branch from protocol_changes to main February 20, 2024 15:48
@eclipse-zenoh-bot
Copy link

@jean-roland If this pull request contains a bugfix or a new feature, then please consider using Closes #ISSUE-NUMBER syntax to link it to an issue.

@jean-roland jean-roland changed the base branch from main to protocol_changes February 20, 2024 15:49
@eclipse-zenoh-bot
Copy link

@jean-roland If this pull request contains a bugfix or a new feature, then please consider using Closes #ISSUE-NUMBER syntax to link it to an issue.

src/api/api.c Outdated
// Trigger local subscriptions
_z_trigger_local_subscriptions(&pub._val->_zn.in->val, pub._val->_key, payload, len
#if Z_FEATURE_ATTACHMENT == 1
,
opt.attachment
#endif
);

return ret;
// Check if write filter is active before writing
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Push messages are now sent to the network after local subscriptions trigger. We tend to have the previous order on purpose.

@OlivierHecart
Copy link
Contributor

I guess we should add a toggle for Z_FEATURE_INTEREST in CMakeLists.txt and GNUMakefile (enabled by default ?).
And probably enable it in .github/workflows/build-check.yaml, .github/workflows/freertos_plus_tcp.yaml and docs/conf.py.

@OlivierHecart OlivierHecart merged commit ebdb01e into eclipse-zenoh:protocol_changes Mar 5, 2024
48 checks passed
@jean-roland jean-roland deleted the ft_interests branch April 9, 2024 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants