fix: last touches

This commit is contained in:
David Dias
2017-03-27 14:42:05 +01:00
parent a6623c1ba2
commit 2c23d9a718
2 changed files with 24 additions and 25 deletions

View File

@ -44,8 +44,8 @@
"libp2p-swarm": "~0.26.19", "libp2p-swarm": "~0.26.19",
"multiaddr": "^2.2.3", "multiaddr": "^2.2.3",
"peer-book": "~0.3.1", "peer-book": "~0.3.1",
"peer-id": "~0.8.4", "peer-id": "~0.8.5",
"peer-info": "~0.8.4" "peer-info": "~0.8.5"
}, },
"contributors": [ "contributors": [
"David Dias <daviddias.p@gmail.com>", "David Dias <daviddias.p@gmail.com>",

View File

@ -160,7 +160,7 @@ class Node extends EventEmitter {
if (err) { if (err) {
return callback(err) return callback(err)
} }
this.peerBook.put(peer) this.peerBook.put(peerInfo)
callback(null, conn) callback(null, conn)
}) })
} }
@ -170,7 +170,7 @@ class Node extends EventEmitter {
const peerInfo = this._getPeerInfo(peer) const peerInfo = this._getPeerInfo(peer)
this.peerBook.removeByB58String(peerInfo.id.toB58String()) this.peerBook.removeByB58String(peerInfo.id.toB58String())
this.swarm.hangUp(peer, callback) this.swarm.hangUp(peerInfo, callback)
} }
handle (protocol, handlerFunc, matchFunc) { handle (protocol, handlerFunc, matchFunc) {
@ -186,18 +186,17 @@ class Node extends EventEmitter {
*/ */
_getPeerInfo (peer) { _getPeerInfo (peer) {
let p let p
switch (peer) { if (PeerInfo.isPeerInfo(peer)) {
case PeerInfo.isPeerInfo(peer): p = peer; break p = peer
case multiaddr.isMultiaddr(peer): { } else if (multiaddr.isMultiaddr(peer)) {
const peerIdB58Str = multiaddr.getPeerId(peer) const peerIdB58Str = peer.getPeerId()
try { try {
p = this.peerBook.getByB58String(peerIdB58Str) p = this.peerBook.getByB58String(peerIdB58Str)
} catch (err) { } catch (err) {
p = new PeerInfo(PeerId.createFromB58String(peerIdB58Str)) p = new PeerInfo(PeerId.createFromB58String(peerIdB58Str))
} }
p.multiaddr.add(peer) p.multiaddr.add(peer)
} break } else if (PeerId.isPeerId(peer)) {
case PeerId.isPeerId(peer): {
const peerIdB58Str = peer.toB58String() const peerIdB58Str = peer.toB58String()
try { try {
p = this.peerBook.getByB58String(peerIdB58Str) p = this.peerBook.getByB58String(peerIdB58Str)
@ -205,8 +204,8 @@ class Node extends EventEmitter {
// TODO this is where PeerRouting comes into place // TODO this is where PeerRouting comes into place
throw new Error('No knowledge about: ' + peerIdB58Str) throw new Error('No knowledge about: ' + peerIdB58Str)
} }
} break } else {
default: throw new Error('Peer type not recognized') throw new Error('peer type not recognized')
} }
return p return p