UNPKG

@observertc/observer-js

Version:

Server Side NodeJS Library for processing ObserveRTC Samples

65 lines 3.15 kB
/// <reference types="node" /> import { ObservedCall, ObservedCallSettings } from './ObservedCall'; import { EventEmitter } from 'events'; import { ClientEvent, ClientMetaData, ClientIssue, ExtensionStat, ClientSample } from './schema/ClientSample'; import { ObservedClient } from './ObservedClient'; import { ObservedTURN } from './ObservedTURN'; import { Detectors } from './detectors/Detectors'; import { Updater } from './updaters/Updater'; import { ObserverEventMonitor } from './ObserverEventMonitor'; export type ObserverEvents = { 'client-event': [ObservedClient, ClientEvent]; 'call-updated': [ObservedCall]; 'client-issue': [ObservedClient, ClientIssue]; 'client-metadata': [ObservedClient, ClientMetaData]; 'client-extension-stats': [ObservedClient, ExtensionStat]; 'newcall': [ObservedCall]; 'update': []; 'close': []; }; export type ObserverConfig<AppData extends Record<string, unknown> = Record<string, unknown>> = { updatePolicy?: 'update-on-any-call-updated' | 'update-when-all-call-updated' | 'update-on-interval'; updateIntervalInMs?: number; defaultCallUpdatePolicy?: ObservedCallSettings['updatePolicy']; defaultCallUpdateIntervalInMs?: number; appData?: AppData; }; export declare interface Observer { on<U extends keyof ObserverEvents>(event: U, listener: (...args: ObserverEvents[U]) => void): this; off<U extends keyof ObserverEvents>(event: U, listener: (...args: ObserverEvents[U]) => void): this; once<U extends keyof ObserverEvents>(event: U, listener: (...args: ObserverEvents[U]) => void): this; emit<U extends keyof ObserverEvents>(event: U, ...args: ObserverEvents[U]): boolean; } export declare class Observer<AppData extends Record<string, unknown> = Record<string, unknown>> extends EventEmitter { readonly config: ObserverConfig<AppData>; readonly detectors: Detectors; readonly observedTURN: ObservedTURN; readonly observedCalls: Map<string, ObservedCall<Record<string, unknown>>>; updater?: Updater; closed: boolean; totalAddedCall: number; totalRemovedCall: number; totalRttLt50Measurements: number; totalRttLt150Measurements: number; totalRttLt300Measurements: number; totalRttGtOrEq300Measurements: number; totalClientIssues: number; numberOfClientsUsingTurn: number; numberOfClients: number; numberOfInboundRtpStreams: number; numberOfOutboundRtpStreams: number; numberOfDataChannels: number; numberOfPeerConnections: number; get numberOfCalls(): number; private _timer?; constructor(config?: ObserverConfig<AppData>); get appData(): AppData | undefined; getObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(callId: string): ObservedCall<T> | undefined; createObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(settings: ObservedCallSettings<T>): ObservedCall<T>; close(): void; accept(sample: ClientSample): void; update(): void; private _onObservedCallUpdated; createEventMonitor<CTX = unknown>(ctx?: CTX): ObserverEventMonitor<CTX>; } //# sourceMappingURL=Observer.d.ts.map