UNPKG

@observertc/observer-js

Version:

Server Side NodeJS Library for processing ObserveRTC Samples

127 lines 5.12 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { ObservedPeerConnection } from './ObservedPeerConnection'; import { ClientEvent, ClientMetaData, ClientSample, ClientIssue, ExtensionStat } from './schema/ClientSample'; import * as MetaData from './schema/ClientMetaTypes'; import { ObservedCall } from './ObservedCall'; import { CalculatedScore } from './scores/CalculatedScore'; import { Detectors } from './detectors/Detectors'; export type ObservedClientSettings<AppData extends Record<string, unknown> = Record<string, unknown>> = { clientId: string; appData?: AppData; }; export type ObservedClientEvents = { update: [sample: ClientSample, elapsedTimeInMs: number]; close: []; joined: []; issue: [ClientIssue]; metaData: [ClientMetaData]; rejoined: [timestamp: number]; left: []; usingturn: [boolean]; usermediaerror: [string]; extensionStats: [ExtensionStat]; clientEvent: [ClientEvent]; newpeerconnection: [ObservedPeerConnection]; }; export declare interface ObservedClient { on<U extends keyof ObservedClientEvents>(event: U, listener: (...args: ObservedClientEvents[U]) => void): this; off<U extends keyof ObservedClientEvents>(event: U, listener: (...args: ObservedClientEvents[U]) => void): this; once<U extends keyof ObservedClientEvents>(event: U, listener: (...args: ObservedClientEvents[U]) => void): this; emit<U extends keyof ObservedClientEvents>(event: U, ...args: ObservedClientEvents[U]): boolean; } export declare class ObservedClient<AppData extends Record<string, unknown> = Record<string, unknown>> extends EventEmitter { readonly call: ObservedCall; readonly detectors: Detectors; readonly clientId: string; readonly observedPeerConnections: Map<string, ObservedPeerConnection>; readonly calculatedScore: CalculatedScore; appData: AppData; attachments?: Record<string, unknown>; updated: number; acceptedSamples: number; closed: boolean; joinedAt?: number; leftAt?: number; closedAt?: number; lastSampleTimestamp?: number; operationSystem?: MetaData.OperationSystem; engine?: MetaData.Engine; platform?: MetaData.Platform; browser?: MetaData.Browser; mediaConstraints: string[]; usingTURN: boolean; usingTCP: boolean; availableOutgoingBitrate: number; availableIncomingBitrate: number; totalInboundPacketsLost: number; totalInboundPacketsReceived: number; totalOutboundPacketsSent: number; totalDataChannelBytesSent: number; totalDataChannelBytesReceived: number; totalDataChannelMessagesSent: number; totalDataChannelMessagesReceived: number; totalReceivedAudioBytes: number; totalReceivedVideoBytes: number; totalSentAudioBytes: number; totalSentVideoBytes: number; totalSentBytes: number; totalReceivedBytes: number; deltaReceivedAudioBytes: number; deltaReceivedVideoBytes: number; deltaSentAudioBytes: number; deltaSentVideoBytes: number; deltaDataChannelBytesSent: number; deltaDataChannelBytesReceived: number; deltaDataChannelMessagesSent: number; deltaDataChannelMessagesReceived: number; deltaInboundPacketsLost: number; deltaInboundPacketsReceived: number; deltaOutboundPacketsSent: number; deltaTransportSentBytes: number; deltaTransportReceivedBytes: number; deltaRttLt50Measurements: number; deltaRttLt150Measurements: number; deltaRttLt300Measurements: number; deltaRttGtOrEq300Measurements: number; currentMaxRttInMs?: number; currentMinRttInMs?: number; currentAvgRttInMs?: number; sendingAudioBitrate: number; sendingVideoBitrate: number; receivingAudioBitrate: number; receivingVideoBitrate: number; numberOfInboundRtpStreams: number; numberOfInbundTracks: number; numberOfOutboundRtpStreams: number; numberOfOutboundTracks: number; numberOfDataChannels: number; totalRttLt50Measurements: number; totalRttLt150Measurements: number; totalRttLt300Measurements: number; totalRttGtOrEq300Measurements: number; deltaNumberOfIssues: number; totalScoreSum: number; numberOfScoreMeasurements: number; totalNumberOfIssues: number; readonly mediaDevices: MetaData.MediaDeviceInfo[]; issues: ClientIssue[]; private _injections; constructor(settings: ObservedClientSettings<AppData>, call: ObservedCall); get numberOfPeerConnections(): number; get score(): number | undefined; close(): void; accept(sample: ClientSample): void; private _processClientEvent; injectMetaData(metaData: ClientMetaData): void; injectEvent(event: ClientEvent): void; injectIssue(issue: ClientIssue): void; injectExtensionStat(stat: ExtensionStat): void; injectAttachment(key: string, value: unknown): void; addMetadata(metadata: ClientMetaData): void; addIssue(issue: ClientIssue): void; addExtensionStats(stats: ExtensionStat): void; private _updatePeerConnection; private _mergeInjections; } //# sourceMappingURL=ObservedClient.d.ts.map