-
Notifications
You must be signed in to change notification settings - Fork 47
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
Multiple improvements to the exchange and transport layers #147
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 26, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
reviewed
Mar 27, 2024
andy31415
approved these changes
Apr 22, 2024
Bugfixing in subscriptions Mdns shares buffers with the main transport Complete subscription logic (incl change notification) Bugfixing Bugfixing Best effort for Google controller subscriptions to stay alive Re-publish the mDNS broadcast when an entry is removed too Google controller expects revoke commissioning to be supported Eagerly close subscriptions that don't report anything Cleanup in transport mgr Restore the correct subscription id Simplify transport mgr Tests typecheck Minor renames Docu Docu Docu, clippy fix the tests Handle session close Fix buffer sizes for subscriptions Report responer memory RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (WIP) Buffers for IM; more flexible Exchange; renames in Exchange Address several bugs Matter header for Notification Address several bugs Unit tests work Address several bugs Small updates to the RFC Small updates to the RFC Make IM compatible with unit tests Enable operation over reliable protocols Support for large buffers (TCP) Unify the synchronization primitives Try to reduce a bit the consumed memory Reduce the change delta Update RFC Extra comments Fix the build WIP - RFC Address several bugs Fix lifetime issues with subscriptions notifications Updates to the RFC
…d message, if there is any
ivmarkov
added a commit
to ivmarkov/rs-matter
that referenced
this pull request
May 13, 2024
…hip#147) * Multiple improvements to the exchange and transport layers Bugfixing in subscriptions Mdns shares buffers with the main transport Complete subscription logic (incl change notification) Bugfixing Bugfixing Best effort for Google controller subscriptions to stay alive Re-publish the mDNS broadcast when an entry is removed too Google controller expects revoke commissioning to be supported Eagerly close subscriptions that don't report anything Cleanup in transport mgr Restore the correct subscription id Simplify transport mgr Tests typecheck Minor renames Docu Docu Docu, clippy fix the tests Handle session close Fix buffer sizes for subscriptions Report responer memory RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (work in progress) RFC (WIP) Buffers for IM; more flexible Exchange; renames in Exchange Address several bugs Matter header for Notification Address several bugs Unit tests work Address several bugs Small updates to the RFC Small updates to the RFC Make IM compatible with unit tests Enable operation over reliable protocols Support for large buffers (TCP) Unify the synchronization primitives Try to reduce a bit the consumed memory Reduce the change delta Update RFC Extra comments Fix the build WIP - RFC Address several bugs Fix lifetime issues with subscriptions notifications Updates to the RFC * Document the handler API * Clarify a commented out line * Document the await optimization * Remove a level of indentation * Leave a TODO that trhe subscription notification logic is incomplete * Add a warning for an unanticipated opcode * Skip the doctest * Change semantics the of recv and recv_fetch to return the last fetched message, if there is any * Address feedback from code review * std::net not necessary as it is now just re-exporting core::net * Address feedback from code review * Address feedback from code review * Address feedback from code review * Address feedback from code review * Address feedback from code review * Address feedback from code review * Address feedback from code review * Address feedback from code review * Address feedback from code review * Address feedback from code review * Incorporate changes to the RFC from HackMD
This was referenced May 22, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@kedars @andreilitvin
This is a very large PR indeed so I would assume it will take a while to comprehend.
Some of the design decisions in the PR might be subject to debate, or at the very least - they might need explanations, clarifications and feedback.
Therefore, I've created an informal RFC of sorts which I uploaded to HackMD: https://hackmd.io/@ivmarkov/SyHoBnpA6
(It is also checked-in in GitHub as part of this PR)
Please look at the doc, as it tries to summarize the main deficiencies of the existing transport layer that this PR is addressing, as well as how it tries to address those. Commenting in the doc should be enabled as long as you sign in to HackMD. Let me know if commenting does not work for you.
(BTW: I'm also fine with chopping the PR into smaller chunks, as long as we find a way to do it, as the changes are highly inter-related.)