-
Notifications
You must be signed in to change notification settings - Fork 14
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
Extension Context #109
base: main
Are you sure you want to change the base?
Extension Context #109
Conversation
We may want to be able to specify the context on a per-variable level. This would probably require the ability to add metadata to variables, which adds a bit of complexity, but could be used for other things as well. Needs further discussion. |
I would like to revisit this. While it may be nice to have per-variable support, I don't think that excludes per-extension support. @kpelzel would you mind rebasing this to a modern commit and making sure it still works? |
Problem:
Some extensions are only discovered by the parent node. Currently if the parent node makes a discovery event after the node has gone into sync state, the next incoming hello packet will overwrite all extensions regardless of anything the parent node discovers. This is due to the source of truth for discoverable state coming from the child nodes.
Solution:
Here's a proposal for a simple solution. Each extension now has a "Context" method which is either:
If an extension has a context of PARENT, that extension will be removed from any hello packets that are coming from the child nodes because that extension can only be discovered by the parent. Anything with a child context will not be removed.
(Also, ignore my terrible commit messages)