UNPKG

ndn-js

Version:

A JavaScript client library for Named Data Networking

60 lines (52 loc) 2.19 kB
/** * Copyright (C) 2013-2019 Regents of the University of California. * @author: Jeff Thompson <jefft0@remap.ucla.edu> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * A copy of the GNU Lesser General Public License is in the file COPYING. */ /** @ignore */ var WireFormat = require('./wire-format.js').WireFormat; /** @ignore */ var Tlv0_3WireFormat = require('./tlv-0_3-wire-format.js').Tlv0_3WireFormat; /** * A TlvWireFormat extends WireFormat to override its methods to * implement encoding and decoding using the preferred implementation of NDN-TLV. * @constructor */ var TlvWireFormat = function TlvWireFormat() { // Inherit from Tlv0_3WireFormat. Tlv0_3WireFormat.call(this); }; TlvWireFormat.prototype = new Tlv0_3WireFormat(); TlvWireFormat.prototype.name = "TlvWireFormat"; exports.TlvWireFormat = TlvWireFormat; // Default object. TlvWireFormat.instance = null; /** * Get a singleton instance of a TlvWireFormat. Assuming that the default * wire format was set with WireFormat.setDefaultWireFormat(TlvWireFormat.get()), * you can check if this is the default wire encoding with * if WireFormat.getDefaultWireFormat() == TlvWireFormat.get(). * @return {TlvWireFormat} The singleton instance. */ TlvWireFormat.get = function() { if (TlvWireFormat.instance === null) TlvWireFormat.instance = new TlvWireFormat(); return TlvWireFormat.instance; }; // On loading this module, make this the default wire format. // This module will be loaded because WireFormat loads it. WireFormat.setDefaultWireFormat(TlvWireFormat.get());