in alibabacloud_credentials/provider/refreshable.py [0:0]
def __init__(self, refresh_callable: Callable[[], RefreshResult[T]],
refresh_callable_async: Callable[[], Coroutine[Any, Any, RefreshResult[T]]],
stale_value_behavior: StaleValueBehavior = StaleValueBehavior.STRICT,
prefetch_strategy: PrefetchStrategy = OneCallerBlocks()):
self._refresh_callable = refresh_callable
self._refresh_callable_async = refresh_callable_async
self._stale_value_behavior = stale_value_behavior
self._prefetch_strategy = prefetch_strategy
self._consecutive_refresh_failures = 0
self._cached_value = None
self._refresh_lock = threading.Lock()