infobip-rtc
Version:
Infobip RTC JavaScript SDK - Infobip WebRTC API Implementation
27 lines (26 loc) • 1.12 kB
TypeScript
type RetryDelayFunction = (iteration: number) => number;
type RetryTimeoutFunction = (callable: () => void, delayMs: number) => any;
type CancelTimeoutFunction = (timeoutRef: any) => void;
export declare enum RetryFailReason {
MaxRetries = 0
}
export default class Retry {
private callable;
private delayFunction;
private maxDelayMs;
private maxRetries;
private timeoutFunction;
private cancelTimeoutFunction;
static linearDelay(baseDelayMs: number, baseIncrementMs?: number): RetryDelayFunction;
static fibonacciDelay(baseDelayMs: number): RetryDelayFunction;
static exponentialDelay(baseDelayMs: number, factor?: number): RetryDelayFunction;
private awaitingTimeout;
private timeoutRef;
private iteration;
private reject;
constructor(callable: (iteration: number) => void, delayFunction: RetryDelayFunction, maxDelayMs?: number, maxRetries?: number, timeoutFunction?: RetryTimeoutFunction, cancelTimeoutFunction?: CancelTimeoutFunction);
cancel(): boolean;
retry(): Retry;
catch(reject: (reason: RetryFailReason) => void): Retry;
}
export {};