Make dynamic endpoint lifetime more similar to that of fixed endpoints. #9662
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.
Specific changes:
Ensure that dynamic endpoints land in initializeEndpoint (via
emberAfEndpointEnableDisable) like fixed ones do (via emAfCallInits).
Ensure that clearing an dynamic endpoint properly disables it.
This makes sure we call emberAfDeactivateClusterTick as needed and
we can add other cleanup inside emberAfEndpointEnableDisable as it
becomes useful.
Move the emberAfPluginDescriptorServerInitCallback calls for
dynamic endpoints to the one choke-point in
emberAfEndpointEnableDisable. This also fixes a pre-existing issue
where disabling a fixed endpoint would not correctly update the
descriptor bits.
In descriptor, check for enabled state before trying to actually
touch the endpoint's data, not after we have tried to touch some of
it.
Testing
I'm not sure how to test this. Right now nothing except bridge-app exercises dynamic endpoints, and I don't know how to go about testing that.