UNPKG

@telnyx/webrtc

Version:
35 lines (34 loc) 1.33 kB
import type { ISignalingHealthSession, PeerFailureEvidence } from '../util/interfaces/SignalingHealth'; export default class SignalingHealthMonitor { private readonly _session; private _lastInboundAt; private _lastProbeSentAt; private _probeInFlight; private _intervalId; private _pendingMediaRecovery; private _browserWasOffline; private _onlineHandler; private _offlineHandler; private static readonly CRITICAL_METHODS; static isCriticalMethod(method: string): boolean; constructor(_session: ISignalingHealthSession); start(): void; stop(): void; get isRunning(): boolean; get isProbeInFlight(): boolean; onSocketActivity(): void; private _resolveProbe; private _probeIfNeeded; onRequestTimeout(requestId: string, timeoutMs: number, method?: string): void; onPeerFailure(callId: string, evidence: PeerFailureEvidence): void; onNoRtp(callId: string, direction: 'inbound' | 'outbound'): void; private _setupBrowserListeners; private _cleanupBrowserListeners; onIceRestartFailed(callId: string): void; private _check; private _sendProbe; private _recoverMediaOrSignaling; private _getSignalingHealthState; private _triggerSignalingRecovery; private _triggerIceRestart; }