@observertc/client-monitor-js
Version:
ObserveRTC Client Integration Javascript Library
98 lines (97 loc) • 3.82 kB
TypeScript
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;
}