OAuth2Client: improve sleep/close detection #8337
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.
A few improvements on the sleep/close detection mechanisms:
lastAccess
computation tostart()
, in case the client is instantiated long before being used for the first time;lastAccess
wheneverfetchNewTokens()
require user interaction (authorization and device code flows): prevents incorrect switch to sleep mode;wakeUp()
: no need to wake up; can happen if the client was sleeping, then is closed, thenauthenticate()
is called.maybeScheduleTokensRenewal()
: no need to check and switch to sleep; avoids the case where the client is closed after some inactivity, thenmaybeScheduleTokensRenewal
is called and incorrectly puts the client to sleep.log()
simplify the check if log is needed: the token future can only be cancelled iifclosing
is true.