@observertc/client-monitor-js
Version:
ObserveRTC Client Integration Javascript Library
1 lines • 1.02 kB
JavaScript
export class DataChannelMonitor{_peerConnection;_visited=!0;timestamp;id;label;protocol;dataChannelIdentifier;state;messagesSent;bytesSent;messagesReceived;bytesReceived;deltaBytesSent;deltaBytesReceived;attachments;appData;constructor(e,t){this._peerConnection=e,this.id=t.id,this.timestamp=t.timestamp,Object.assign(this,t)}getPeerConnection(){return this._peerConnection}get visited(){const e=this._visited;return this._visited=!1,e}accept(e){this._visited=!0;e.timestamp-this.timestamp<=0||(this.bytesSent&&e.bytesSent&&(this.deltaBytesSent=e.bytesSent-this.bytesSent),this.bytesReceived&&e.bytesReceived&&(this.deltaBytesReceived=e.bytesReceived-this.bytesReceived),Object.assign(this,e))}createSample(){return{id:this.id,timestamp:this.timestamp,label:this.label,protocol:this.protocol,dataChannelIdentifier:this.dataChannelIdentifier,state:this.state,messagesSent:this.messagesSent,bytesSent:this.bytesSent,messagesReceived:this.messagesReceived,bytesReceived:this.bytesReceived,attachments:this.attachments}}}