managment.faces.create = function(requestingFaceID, name) { var nfblob = name.components[4].getValue() var d = new ndn.Data() d.wireDecode(nfblob) //d.verify() var parameters = JSON.parse(d.content.toString()) //console.log("got to face creator",parameters) if (parameters.protocol == "tcp") { var face = new Face({host: parameters.host, port: parameters.port}) face.transport.connect(face, function(){ if (parameters.nextHop){ var na = new ndn.Name('localhost/nfd/fib/add-nexthop') parameters.nextHop.faceID = face.id var d = new ndn.Data(name, new ndn.SignedInfo(), JSON.stringify(parameters.nextHop)) d.signedInfo.setFields() d.sign() var enc = d.wireEncode() na.append(enc.buffer) managment.fib.addNextHop(requestingFaceID, na) Faces[requestingFaceID].transport.send(enc.buffer) } console.log("connected to face at", parameters.host, parameters.nextHop) }) } else { console.log("ignoring unsupported protocol") } }
managment.faces.destroy = function(requestingFaceID, name){ var nfblob = name.components[4].getValue() var d = new ndn.Data() d.wireDecode(nfblob) //d.verify() var parameters = JSON.parse(d.content.toString()) console.log('closing face', parameters.faceID) Faces[parameters.faceID].close() }
function onInterest(prefix, interest, transport) { console.log("got interest") var d = new ndn.Data(interest.name, new ndn.SignedInfo(), "Success!") d.signedInfo.setFields() d.sign() var enc = d.wireEncode() transport.send(enc.buffer) }
function onInterest (prefix,interest,transport){ global.gotInterest = true console.log("got interest", prefix) var d = new ndn.Data(new ndn.Name(interest.name.toUri()), new ndn.SignedInfo(), "success") d.signedInfo.setFinalBlockID(new ndn.Name.Component([0x00])) d.signedInfo.setFields() var encoded = d.wireEncode() console.log("sending encoded",encoded ) transport.send(encoded.buffer) console.log("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") }
db.sublevels[data.value].get(0, function(err, data){ if (interest.publisherPublicKeyDigest != undefined) { var d = new ndn.Data() d.decode(data) if (ndn.DataUtils.arraysEqual(d.signedInfo.publisher.publisherPublicKeyDigest, interest.publisherPublicKeyDigest.publisherPublicKeyDigest)) { onhit(data, transport) } else { crawl(q, contentKey) } } else { onhit(data, transport) } })
function onopen(){ callb(true) console.log("app2 transport open", callb) var d = new ndn.Data(new ndn.Name('thing'), new ndn.SignedInfo(), "success") d.signedInfo.setFields() d.sign() setTimeout(function(){ console.log('sending from app2 to app1', face.transport) face.transport.send(d.wireEncode().buffer) }, 10000) }
face.transport.connect(face, function(){ if (parameters.nextHop){ var na = new ndn.Name('localhost/nfd/fib/add-nexthop') parameters.nextHop.faceID = face.id var d = new ndn.Data(name, new ndn.SignedInfo(), JSON.stringify(parameters.nextHop)) d.signedInfo.setFields() d.sign() var enc = d.wireEncode() na.append(enc.buffer) managment.fib.addNextHop(requestingFaceID, na) Faces[requestingFaceID].transport.send(enc.buffer) } console.log("connected to face at", parameters.host, parameters.nextHop) })
managment.fib.addNextHop = function(requestingFaceID, name){ var nfblob = name.components[4].getValue() var d = new ndn.Data() d.wireDecode(nfblob) //d.verify() var parameters = JSON.parse(d.content.toString()) console.log(parameters) function respond() { var resp = new ndn.Data(name, new ndn.SignedInfo(), "success") resp.signedInfo.setFields() resp.sign() Faces[requestingFaceID].transport.send(resp.wireEncode().buffer) } ndn.FIB.put({ name: new ndn.Name(parameters.uri), nextHop: { faceID: parameters.faceID || requestingFaceID, cost: parameters.cost || 0 } }, respond) }
var repo = require('../browser.js') var ndn = require('ndn-lib') var assert = require('assert') var name = new ndn.Name("something") var interest = new ndn.Interest(name) var content = "hello world" var si = new ndn.SignedInfo() si.setFreshnessPeriod(10000) var data = new ndn.Data(name, si, content) data.signedInfo.setFields() data.sign() var encodedData = data.wireEncode() var element = interest.wireEncode() var newTimeout = function(func, sec) { return new setTimeout(func, sec) } var initialCheck = false var dataInserted = false var cacheHit = false describe('cache',function(){ it('should trigger cache miss callback', function(){ cache.check(interest,element, null, function(){ assert.equal(false, true) }, function(){ initialCheck = true })
function respond() { var resp = new ndn.Data(name, new ndn.SignedInfo(), "success") resp.signedInfo.setFields() resp.sign() Faces[requestingFaceID].transport.send(resp.wireEncode().buffer) }