UNPKG

@observertc/client-monitor-js

Version:

ObserveRTC Client Integration Javascript Library

98 lines (97 loc) 3.82 kB
import EventEmitter from 'eventemitter3'; import { IceCandidatePairMonitor, IcePathKind } from "./IceCandidatePairMonitor"; import { PeerConnectionMonitor } from "./PeerConnectionMonitor"; export type IcePathTransition = 'initial-selection' | 'direct-to-relay' | 'relay-to-direct' | 'relay-protocol-changed' | 'turn-server-changed' | 'path-changed'; export type IcePathEvidence = { kind: IcePathKind; pairId?: string; transportId?: string; localCandidateId?: string; remoteCandidateId?: string; localCandidateType?: string; remoteCandidateType?: string; protocol?: string; relayProtocol?: string; turnUrl?: string; turnServer?: string; localAddress?: string; localPort?: number; remoteAddress?: string; remotePort?: number; }; export type SelectedIcePathEvents = { 'changed': [{ transition: IcePathTransition; from?: IcePathEvidence; to: IcePathEvidence; }]; 'close': []; }; export type IcePathDurations = Record<IcePathKind, number>; export declare class SelectedIcePath extends EventEmitter<SelectedIcePathEvents> { readonly key: string; private _pair; private readonly _peerConnection; readonly createdAt: number; updatedAt: number; closed: boolean; readonly durations: IcePathDurations; pathSwitches: number; directToRelaySwitches: number; relayToDirectSwitches: number; relayProtocolSwitches: number; turnServerSwitches: number; firstRelaySelectedAt?: number; lastSwitchedAt?: number; totalBytesSent: number; totalBytesReceived: number; totalPacketsSent: number; totalPacketsReceived: number; relayBytesSent: number; relayBytesReceived: number; relayPacketsSent: number; relayPacketsReceived: number; private _kind; private _turnServer?; private _tuple; private _kindSince; private readonly _switchTimestamps; appData?: Record<string, unknown> | undefined; constructor(key: string, _pair: IceCandidatePairMonitor, _peerConnection: PeerConnectionMonitor); getPeerConnection(): PeerConnectionMonitor; get pair(): IceCandidatePairMonitor; get localCandidate(): import("./IceCandidateMonitor").IceCandidateMonitor | undefined; get remoteCandidate(): import("./IceCandidateMonitor").IceCandidateMonitor | undefined; get iceTransport(): import("./IceTransportMonitor").IceTransportMonitor | undefined; get pairId(): string; get transportId(): string | undefined; get kind(): IcePathKind; get usingTurn(): boolean; get usingTcp(): boolean; get relayProtocol(): import("./IceCandidateMonitor").IceRelayProtocol | undefined; get turnUrl(): string | undefined; get turnServer(): string | undefined; get tuple(): string; get protocol(): string | undefined; get localCandidateType(): string | undefined; get remoteCandidateType(): string | undefined; get localAddress(): string | undefined; get localPort(): number | undefined; get localAddressFamily(): import("./IceCandidateMonitor").IceAddressFamily | undefined; get remoteAddress(): string | undefined; get remotePort(): number | undefined; get remoteAddressFamily(): import("./IceCandidateMonitor").IceAddressFamily | undefined; get currentRoundTripTime(): number | undefined; get state(): "new" | "in-progress" | "waiting" | "failed" | "succeeded" | undefined; get durationInMs(): number; get relayDurationInMs(): number; get timeToFirstRelayInMs(): number | undefined; get relayBytesRatio(): number | undefined; getSwitchCountSince(timestamp: number): number; update(pair: IceCandidatePairMonitor): void; notifyInitialSelection(): void; close(): void; private _accumulateTraffic; private _notify; private _describe; }