@observertc/observer-js
Version:
Server Side NodeJS Library for processing ObserveRTC Samples
76 lines (75 loc) • 2.41 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObservedDataChannel = void 0;
class ObservedDataChannel {
timestamp;
id;
_peerConnection;
_visited = false;
label;
protocol;
dataChannelIdentifier;
state;
messagesSent;
bytesSent;
messagesReceived;
bytesReceived;
attachments;
addedAt;
removedAt;
deltaBytesSent = 0;
deltaBytesReceived = 0;
deltaMessagesSent = 0;
deltaMessagesReceived = 0;
appData;
constructor(timestamp, id, _peerConnection) {
this.timestamp = timestamp;
this.id = id;
this._peerConnection = _peerConnection;
}
get visited() {
const visited = this._visited;
this._visited = false;
return visited;
}
getPeerConnection() {
return this._peerConnection;
}
update(stats) {
this._visited = true;
if (this.messagesSent && stats.messagesSent && stats.messagesSent >= this.messagesSent) {
this.deltaMessagesSent = stats.messagesSent - this.messagesSent;
}
else {
this.deltaMessagesSent = 0;
}
if (this.messagesReceived && stats.messagesReceived && stats.messagesReceived >= this.messagesReceived) {
this.deltaMessagesReceived = stats.messagesReceived - this.messagesReceived;
}
else {
this.deltaMessagesReceived = 0;
}
if (this.bytesSent && stats.bytesSent && stats.bytesSent >= this.bytesSent) {
this.deltaBytesSent = stats.bytesSent - this.bytesSent;
}
else {
this.deltaBytesSent = 0;
}
if (this.bytesReceived && stats.bytesReceived && stats.bytesReceived >= this.bytesReceived) {
this.deltaBytesReceived = stats.bytesReceived - this.bytesReceived;
}
else {
this.deltaBytesReceived = 0;
}
this.label = stats.label;
this.protocol = stats.protocol;
this.dataChannelIdentifier = stats.dataChannelIdentifier;
this.state = stats.state;
this.messagesSent = stats.messagesSent;
this.bytesSent = stats.bytesSent;
this.messagesReceived = stats.messagesReceived;
this.bytesReceived = stats.bytesReceived;
this.attachments = stats.attachments;
}
}
exports.ObservedDataChannel = ObservedDataChannel;