ndn-js-contrib
Version:
Reusable 'Classes' for Named Data Networking: NameTree, PIT, FIB, ContentStore, Interfaces, and Transports
1 lines • 1.34 kB
JavaScript
function MessageChannelTransport(a){return Transport.call(this),this.connectionInfo=new MessageChannelTransport.ConnectionInfo(a),this}var ElementReader=require("ndn-lib/js/encoding/element-reader.js").ElementReader,Transport=require("ndn-lib/js/transport/transport.js").Transport,debug={};debug.debug=require("debug")("MessageChannelTransport"),MessageChannelTransport.prototype=new Transport,MessageChannelTransport.prototype.name="MessageChannelTransport",MessageChannelTransport.ConnectionInfo=function(a){Transport.ConnectionInfo.call(this),this.port=a},MessageChannelTransport.ConnectionInfo.prototype=new Transport.ConnectionInfo,MessageChannelTransport.ConnectionInfo.prototype.name="MessageChannelTransport.ConnectionInfo",MessageChannelTransport.ConnectionInfo.prototype.getPort=function(){return this.port},MessageChannelTransport.ConnectionInfo.prototype.equals=function(a){return null===a||void 0===a.port?!1:this.port===a.port},MessageChannelTransport.prototype.connect=function(a,b,c){this.elementReader=new ElementReader(b);var d=this;a.getPort().onmessage=function(a){if(a.data.buffer instanceof ArrayBuffer)try{d.elementReader.onReceivedData(new Buffer(a.data))}catch(b){return}},c()},MessageChannelTransport.prototype.send=function(a){this.connectionInfo.getPort().postMessage(a)},module.exports=MessageChannelTransport;