Change access point discovery output from interface name to IAccessPoint #119
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.
Type
Side Effects
Goals
Technical Details
The prior design had access point discovery agents raise discovery change events whose payload was the presence change itself (arrived, departed) and the interface name. While this works, nearly every consumer in nearly every scenario would take this and immediately create an
IAccessPoint
instance, which would re-do many of the operations the discovery agent had performed to determine the interface name.The design is now updated for the access point discovery change event payload to contain a
std::shared_ptr<IAccessPoint>
which is created by the agent itself. The agent is responsible for the creation of theIAccessPoint
, and at least in the case of the Linux agents, they now take aIAccessPointFactory
that controls the creation of theIAccesPoint
. This still allows the creation policy to be controller by the top-level consumer as they orchestrate the creation of the discovery agent and factory.Now that the discovery agent(s) create the instances, the
AccessPointManager
no longer needs to do this, and so, no longer takes astd::shared_ptr<IAccessPointFactory>
nor creates any of the instances.Test Results
netremote-cli wifi enumaps
and ensured the output matches that of the previous design+impl.Reviewer Focus
Future Work
Checklist
all
compiles cleanly.