@telnyx/webrtc
Version:
Telnyx WebRTC Client
35 lines (34 loc) • 1.33 kB
TypeScript
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;
}