UNPKG

zego-express-engine-webrtc

Version:

zego webrtc express sdk

35 lines (34 loc) 1.43 kB
/// <reference types="node" /> import { ZegoLogger } from './zego.entity'; import { StateCenter } from './stateCenter'; export declare class HttpRetryHandler { protected _zgp_logger: ZegoLogger; protected _zgp_stateCenter: StateCenter; attempt: number; _zgp_baseInterval: number; _zgp_capInterval: number; _zgp_retryRule: number; retryTimer: NodeJS.Timeout | null | number; maxTimer: NodeJS.Timeout | null | number; isOverTime: boolean; requestInfo: any; sucCallBack: Function | undefined; failCallBack: Function | undefined; RETRY_MAX_TIME: number; _err: any; constructor(_zgp_logger: ZegoLogger, _zgp_stateCenter: StateCenter); /** * 0: 默认规则 -> 基础间隔 0.3s, 前两次 attempt 视作 0,第三次开始使用正常 attempt,最大 _zgp_capInterval 4.8s,即 0.3s、0.3s、1.2s、2.4s、4.8s * 1: 特殊规则1(gateway 返回 429 或 5XX),基础间隔 0.3s,attempt 从 2 开始,最大 cap 32s,即 0.3s、0.3s、1.2s、2.4s...32s * @param rule */ setRetryRule(rule: number): void; getRetryDelayByCount(attempt: number): Promise<number>; initCallback(sucCallBack: Function, failCallBack: Function): void; startMaxTime(): void; invalid(): void; clearRetryTimer(): void; requestFail(err?: any): void; stopMaxTime(): void; resetCallback(): void; }