Constructor
new Backoff(parameters, autoResetopt, isCanceledopt, nullable)
Backoff represents delay and backoff state. This is used by NetworkingEngine
for individual requests and by StreamingEngine to retry streaming failures.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
parameters |
shaka.extern.RetryParameters | ||
autoReset |
boolean |
<optional> |
If true, start at a "first retry" state and and auto-reset that state when we reach maxAttempts. Default set to false. |
isCanceled |
?function()= |
<optional> <nullable> |
If provided, the backoff will end the current attempt early when this callback returns true. Default set to null. |
- Source:
Members
Methods
(static) defaultRetryParameters() → {shaka.extern.RetryParameters}
Gets a copy of the default retry parameters.
- Source:
Returns:
(private, static) fuzz_(value, fuzzFactor) → {number}
Fuzz the input value by +/- fuzzFactor. For example, a fuzzFactor of 0.5
will create a random value that is between 50% and 150% of the input value.
Parameters:
Name | Type | Description |
---|---|---|
value |
number | |
fuzzFactor |
number |
- Source:
Returns:
The fuzzed value
- Type
- number
(private, static) setTimeout_(fn, timeoutMs) → {number}
This is here only for testability. Mocking global setTimeout can lead to
unintended interactions with other tests. So instead, we mock this.
Parameters:
Name | Type | Description |
---|---|---|
fn |
Function | The callback to invoke when the timeout expires. |
timeoutMs |
number | The timeout in milliseconds. |
- Source:
Returns:
The timeout ID.
- Type
- number
attempt() → (non-null) {Promise}
- Source:
Returns:
Resolves when the caller may make an attempt, possibly
after a delay. Rejects if no more attempts are allowed.
- Type
- Promise
(private) cancelableTimeout_(fn, timeoutMs)
Makes a timeout that cancels with isCanceled_ if this has an isCanceled_.
Parameters:
Name | Type | Description |
---|---|---|
fn |
Function | The callback to invoke when the timeout expires. |
timeoutMs |
number | The timeout in milliseconds. |
- Source: