@observertc/client-monitor-js
Version:
ObserveRTC Client Integration Javascript Library
1 lines • 2.49 kB
JavaScript
export class IceTransportMonitor{_peerConnection;_visited=!0;timestamp;id;packetsSent;packetsReceived;bytesSent;bytesReceived;iceRole;iceLocalUsernameFragment;dtlsState;iceState;selectedCandidatePairId;localCertificateId;remoteCertificateId;tlsVersion;dtlsCipher;dtlsRole;srtpCipher;selectedCandidatePairChanges;ccfbMessagesSent;ccfbMessagesReceived;deltaPacketsSent;deltaPacketsReceived;deltaBytesSent;deltaBytesReceived;sendingBitrate;receivingBitrate;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}getPeerConnection(){return this._peerConnection}getSelectedCandidatePair(){return this._peerConnection.mappedIceCandidatePairMonitors.get(this.selectedCandidatePairId??"")}accept(e){this._visited=!0;const t=e.timestamp-this.timestamp,i=t/1e3;t<=0||(void 0!==this.packetsSent&&void 0!==e.packetsSent&&this.packetsSent<=e.packetsSent?this.deltaPacketsSent=e.packetsSent-this.packetsSent:this.deltaPacketsSent=void 0,void 0!==this.packetsReceived&&void 0!==e.packetsReceived&&this.packetsReceived<=e.packetsReceived?this.deltaPacketsReceived=e.packetsReceived-this.packetsReceived:this.deltaPacketsReceived=void 0,void 0!==this.bytesSent&&void 0!==e.bytesSent&&this.bytesSent<=e.bytesSent?(this.deltaBytesSent=e.bytesSent-this.bytesSent,this.sendingBitrate=8*this.deltaBytesSent/i):(this.deltaBytesSent=void 0,this.sendingBitrate=void 0),void 0!==this.bytesReceived&&void 0!==e.bytesReceived&&this.bytesReceived<=e.bytesReceived?(this.deltaBytesReceived=e.bytesReceived-this.bytesReceived,this.receivingBitrate=8*this.deltaBytesReceived/i):(this.deltaBytesReceived=void 0,this.receivingBitrate=void 0),Object.assign(this,e))}createSample(){return{id:this.id,timestamp:this.timestamp,packetsSent:this.packetsSent,packetsReceived:this.packetsReceived,bytesSent:this.bytesSent,bytesReceived:this.bytesReceived,iceRole:this.iceRole,iceLocalUsernameFragment:this.iceLocalUsernameFragment,dtlsState:this.dtlsState,iceState:this.iceState,selectedCandidatePairId:this.selectedCandidatePairId,localCertificateId:this.localCertificateId,remoteCertificateId:this.remoteCertificateId,tlsVersion:this.tlsVersion,dtlsCipher:this.dtlsCipher,dtlsRole:this.dtlsRole,srtpCipher:this.srtpCipher,selectedCandidatePairChanges:this.selectedCandidatePairChanges,ccfbMessagesSent:this.ccfbMessagesSent,ccfbMessagesReceived:this.ccfbMessagesReceived,attachments:this.attachments}}}