webrtc-issue-detector
Version:
WebRTC diagnostic tool that detects issues with network or user devices
22 lines (21 loc) • 1.18 kB
TypeScript
import { IssueDetector, IssueDetectorResult, NetworkScores, WebRTCStatsParsed, WebRTCStatsParsedWithNetworkScores } from '../types';
export interface PrevStatsCleanupPayload {
connectionId: string;
cleanupCallback?: () => void;
}
export interface BaseIssueDetectorParams {
statsCleanupTtlMs?: number;
maxParsedStatsStorageSize?: number;
}
declare abstract class BaseIssueDetector implements IssueDetector {
#private;
constructor(params?: BaseIssueDetectorParams);
abstract performDetection(data: WebRTCStatsParsedWithNetworkScores): IssueDetectorResult;
detect(data: WebRTCStatsParsed, networkScores?: NetworkScores): IssueDetectorResult;
protected performPrevStatsCleanup(payload: PrevStatsCleanupPayload): void;
protected setLastProcessedStats(connectionId: string, parsedStats: WebRTCStatsParsedWithNetworkScores): void;
protected getLastProcessedStats(connectionId: string): WebRTCStatsParsedWithNetworkScores | undefined;
protected getAllLastProcessedStats(connectionId: string): WebRTCStatsParsedWithNetworkScores[];
protected deleteLastProcessedStats(connectionId: string): void;
}
export default BaseIssueDetector;