UNPKG

@observertc/client-monitor-js

Version:

ObserveRTC Client Integration Javascript Library

1 lines 2.6 kB
export class IceCandidatePairMonitor{_peerConnection;_visited=!0;id;timestamp;transportId;localCandidateId;remoteCandidateId;state;nominated;packetsSent;packetsReceived;bytesSent;bytesReceived;lastPacketSentTimestamp;lastPacketReceivedTimestamp;totalRoundTripTime;currentRoundTripTime;availableOutgoingBitrate;availableIncomingBitrate;requestsReceived;requestsSent;responsesReceived;responsesSent;consentRequestsSent;packetsDiscardedOnSend;bytesDiscardedOnSend;deltaPacketsSent;deltaPacketsReceived;deltaBytesSent;deltaBytesReceived;attachments;appData;constructor(e,t){this._peerConnection=e,this.id=t.id,this.timestamp=t.timestamp,Object.assign(this,t)}get visited(){const e=this._visited;return this._visited=!1,e}accept(e){this._visited=!0;e.timestamp-this.timestamp<=0||(this.deltaBytesReceived=0,this.deltaBytesSent=0,this.deltaPacketsReceived=0,this.deltaPacketsSent=0,this.packetsSent&&e.packetsSent&&(this.deltaPacketsSent=e.packetsSent-this.packetsSent),this.packetsReceived&&e.packetsReceived&&(this.deltaPacketsReceived=e.packetsReceived-this.packetsReceived),this.bytesSent&&e.bytesSent&&(this.deltaBytesSent=e.bytesSent-this.bytesSent),this.bytesReceived&&e.bytesReceived&&(this.deltaBytesReceived=e.bytesReceived-this.bytesReceived),Object.assign(this,e))}getPeerConnection(){return this._peerConnection}getIceTransport(){return this._peerConnection.mappedIceTransportMonitors.get(this.transportId??"")}getLocalCandidate(){return this._peerConnection.mappedIceCandidateMonitors.get(this.localCandidateId??"")}getRemoteCandidate(){return this._peerConnection.mappedIceCandidateMonitors.get(this.remoteCandidateId??"")}createSample(){return{id:this.id,timestamp:this.timestamp,transportId:this.transportId,localCandidateId:this.localCandidateId,remoteCandidateId:this.remoteCandidateId,state:this.state,nominated:this.nominated,packetsSent:this.packetsSent,packetsReceived:this.packetsReceived,bytesSent:this.bytesSent,bytesReceived:this.bytesReceived,lastPacketSentTimestamp:this.lastPacketSentTimestamp,lastPacketReceivedTimestamp:this.lastPacketReceivedTimestamp,totalRoundTripTime:this.totalRoundTripTime,currentRoundTripTime:this.currentRoundTripTime,availableOutgoingBitrate:this.availableOutgoingBitrate,availableIncomingBitrate:this.availableIncomingBitrate,requestsReceived:this.requestsReceived,requestsSent:this.requestsSent,responsesReceived:this.responsesReceived,responsesSent:this.responsesSent,consentRequestsSent:this.consentRequestsSent,packetsDiscardedOnSend:this.packetsDiscardedOnSend,bytesDiscardedOnSend:this.bytesDiscardedOnSend,attachments:this.attachments}}}