UNPKG

ndn-js-contrib

Version:

Reusable 'Classes' for Named Data Networking: NameTree, PIT, FIB, ContentStore, Interfaces, and Transports

1 lines 778 B
var binarySearch=require("./../Utility/binarySearch.js"),ndn,NameTreeNode=function(a){return this.prefix="string"==typeof a?new ndn.Name(a):a||null,this.parent=null,this.children=[],this.fibEntry=null,this.pitEntries=[],this.measurements=null,this.strategy=null,this};NameTreeNode.installNDN=function(a){return ndn=a,this},NameTreeNode.prototype.addChild=function(a){var b=this,c=binarySearch(this.children,a.prefix.get(-1),"prefix");return a=a.prefix?a:new NameTreeNode(new ndn.Name(b.prefix).append(a)),0>c&&this.children.splice(~c,0,a),this},NameTreeNode.prototype.removeChild=function(a){a="string"==typeof a?{prefix:new ndn.Name(a)}:a;var b=binarySearch(this.children,a.prefix.get(-1),"prefix");return 0>b?this:(this.children.splice(b,1),this)},module.exports=NameTreeNode;