cleanup(engine): do not expose LookupLocationContext #1537
Merged
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.
Potentially, this code would cause a behavioral change in that once the probe location has been found, it would not change again and it might be a problem for very-long-running sessions.
However:
the Android codebase does not keep a reference to a session for a very long time and anyway the longest-running sessions are those used for running experiments;
the correct behavior would be for MaybeLookupLocationContext to cache the results only for a limited amount of time.
Because of all these considerations, it actually makes sense to say that replacing LookupLocationContext with MaybeLookupLocationContext and engine.Session accessors is the ~same.
The net benefit for us is that we can further reduce the surface of interaction between clients and the engine code. A simpler API surface is also simpler to document.
Part of ooni/probe#2700