示例#1
0
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")
  }

}
示例#2
0
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()
}
示例#3
0
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)

}
示例#4
0
文件: spec.js 项目: rynomad/level-ndn
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")
}
示例#5
0
 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)
   }
 })
示例#6
0
    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)

    }
示例#7
0
    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)
    })
示例#8
0
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)
}
示例#9
0
文件: test.js 项目: rynomad/level-ndn
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
    })
    
示例#10
0
 function respond() {
   var resp = new ndn.Data(name, new ndn.SignedInfo(), "success")
   resp.signedInfo.setFields()
   resp.sign()
   Faces[requestingFaceID].transport.send(resp.wireEncode().buffer)
 }