@observertc/observer-js
Version:
Server Side NodeJS Library for processing ObserveRTC Samples
65 lines • 3.15 kB
TypeScript
/// <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