private CredentialsRefreshState GetEarlyRefreshState(CredentialsRefreshState state)
{
// New expiry time = Now + _refreshAttemptPeriod + PreemptExpiryTime
var newExpiryTime = DateTime.Now + _refreshAttemptPeriod + PreemptExpiryTime;
// Use this only if the time is earlier than the default expiration time
if (newExpiryTime > state.Expiration)
newExpiryTime = state.Expiration;
return new CredentialsRefreshState
{
Credentials = state.Credentials.Copy(),
Expiration = newExpiryTime
};
}