@observertc/samples-encoder
Version:
ObserveRTC Library for Encoding Samples
80 lines (79 loc) • 4.38 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IceTransportEncoder = void 0;
const utils_1 = require("./utils");
const utils_2 = require("./utils");
const OutputSamples_1 = require("./OutputSamples");
class IceTransportEncoder {
constructor(attachmentsEncoder) {
this._visited = false;
this._timestampEncoder = new utils_2.NumberToNumberEncoder();
this._packetsSentEncoder = new utils_2.NumberToNumberEncoder();
this._packetsReceivedEncoder = new utils_2.NumberToNumberEncoder();
this._bytesSentEncoder = new utils_1.NumberToBigIntEncoder();
this._bytesReceivedEncoder = new utils_1.NumberToBigIntEncoder();
this._iceRoleEncoder = new utils_2.StringToStringEncoder();
this._iceLocalUsernameFragmentEncoder = new utils_2.StringToStringEncoder();
this._dtlsStateEncoder = new utils_2.StringToStringEncoder();
this._iceStateEncoder = new utils_2.StringToStringEncoder();
this._selectedCandidatePairIdEncoder = new utils_2.StringToStringEncoder();
this._localCertificateIdEncoder = new utils_2.StringToStringEncoder();
this._remoteCertificateIdEncoder = new utils_2.StringToStringEncoder();
this._tlsVersionEncoder = new utils_2.StringToStringEncoder();
this._dtlsCipherEncoder = new utils_2.StringToStringEncoder();
this._dtlsRoleEncoder = new utils_2.StringToStringEncoder();
this._srtpCipherEncoder = new utils_2.StringToStringEncoder();
this._selectedCandidatePairChangesEncoder = new utils_2.NumberToNumberEncoder();
this._attachmentsEncoder = attachmentsEncoder;
}
get visited() {
const result = this._visited;
this._visited = false;
return result;
}
reset() {
this._timestampEncoder.reset();
this._packetsSentEncoder.reset();
this._packetsReceivedEncoder.reset();
this._bytesSentEncoder.reset();
this._bytesReceivedEncoder.reset();
this._iceRoleEncoder.reset();
this._iceLocalUsernameFragmentEncoder.reset();
this._dtlsStateEncoder.reset();
this._iceStateEncoder.reset();
this._selectedCandidatePairIdEncoder.reset();
this._localCertificateIdEncoder.reset();
this._remoteCertificateIdEncoder.reset();
this._tlsVersionEncoder.reset();
this._dtlsCipherEncoder.reset();
this._dtlsRoleEncoder.reset();
this._srtpCipherEncoder.reset();
this._selectedCandidatePairChangesEncoder.reset();
this._attachmentsEncoder.reset();
}
encode(sample) {
this._visited = true;
return new OutputSamples_1.ClientSample_PeerConnectionSample_IceTransportStats({
timestamp: this._timestampEncoder.encode(sample.timestamp),
id: sample.id,
packetsSent: this._packetsSentEncoder.encode(sample.packetsSent),
packetsReceived: this._packetsReceivedEncoder.encode(sample.packetsReceived),
bytesSent: this._bytesSentEncoder.encode(sample.bytesSent),
bytesReceived: this._bytesReceivedEncoder.encode(sample.bytesReceived),
iceRole: this._iceRoleEncoder.encode(sample.iceRole),
iceLocalUsernameFragment: this._iceLocalUsernameFragmentEncoder.encode(sample.iceLocalUsernameFragment),
dtlsState: this._dtlsStateEncoder.encode(sample.dtlsState),
iceState: this._iceStateEncoder.encode(sample.iceState),
selectedCandidatePairId: this._selectedCandidatePairIdEncoder.encode(sample.selectedCandidatePairId),
localCertificateId: this._localCertificateIdEncoder.encode(sample.localCertificateId),
remoteCertificateId: this._remoteCertificateIdEncoder.encode(sample.remoteCertificateId),
tlsVersion: this._tlsVersionEncoder.encode(sample.tlsVersion),
dtlsCipher: this._dtlsCipherEncoder.encode(sample.dtlsCipher),
dtlsRole: this._dtlsRoleEncoder.encode(sample.dtlsRole),
srtpCipher: this._srtpCipherEncoder.encode(sample.srtpCipher),
selectedCandidatePairChanges: this._selectedCandidatePairChangesEncoder.encode(sample.selectedCandidatePairChanges),
attachments: this._attachmentsEncoder.encode(sample.attachments),
});
}
}
exports.IceTransportEncoder = IceTransportEncoder;