Optional_random: () => numberThis function should be called when a connection fails. It returns the a delay, in milliseconds, after which a reconnection attempt should be made.
OptionaltimeStampMs: number
The time of the success. Used primarily for testing, when not provided the current time is used.
The delay before the next connection attempt.
This function should be called when a connection attempt is successful.
OptionaltimeStampMs: number
The time of the success. Used primarily for testing, when not provided the current time is used.
Implements exponential backoff and jitter. This class tracks successful connections and failures and produces a retry delay.
It does not start any timers or directly control a connection.
The backoff follows an exponential backoff scheme with 50% jitter starting at initialRetryDelayMillis and capping at MAX_RETRY_DELAY. If RESET_INTERVAL has elapsed after a success, without an intervening faulure, then the backoff is reset to initialRetryDelayMillis.