mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-03-30 22:31:03 +00:00
fix: emit peer discovery for dht discovery
This commit is contained in:
parent
558e5987be
commit
9e7a080a5c
@ -72,7 +72,7 @@
|
|||||||
"libp2p-circuit": "~0.3.0",
|
"libp2p-circuit": "~0.3.0",
|
||||||
"libp2p-delegated-content-routing": "~0.2.2",
|
"libp2p-delegated-content-routing": "~0.2.2",
|
||||||
"libp2p-delegated-peer-routing": "~0.2.2",
|
"libp2p-delegated-peer-routing": "~0.2.2",
|
||||||
"libp2p-kad-dht": "~0.14.2",
|
"libp2p-kad-dht": "~0.14.5",
|
||||||
"libp2p-mdns": "~0.12.0",
|
"libp2p-mdns": "~0.12.0",
|
||||||
"libp2p-mplex": "~0.8.4",
|
"libp2p-mplex": "~0.8.4",
|
||||||
"libp2p-secio": "~0.11.0",
|
"libp2p-secio": "~0.11.0",
|
||||||
|
@ -400,7 +400,10 @@ class Node extends EventEmitter {
|
|||||||
},
|
},
|
||||||
(cb) => {
|
(cb) => {
|
||||||
if (this._dht) {
|
if (this._dht) {
|
||||||
this._dht.start(cb)
|
this._dht.start(() => {
|
||||||
|
this._dht.on('peer', (peerInfo) => this.emit('peer:discovery', peerInfo))
|
||||||
|
cb()
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
cb()
|
cb()
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,9 @@ const signalling = require('libp2p-webrtc-star/src/sig-server')
|
|||||||
const parallel = require('async/parallel')
|
const parallel = require('async/parallel')
|
||||||
const crypto = require('crypto')
|
const crypto = require('crypto')
|
||||||
|
|
||||||
|
const PeerId = require('peer-id')
|
||||||
|
const PeerInfo = require('peer-info')
|
||||||
|
|
||||||
const createNode = require('./utils/create-node')
|
const createNode = require('./utils/create-node')
|
||||||
const echo = require('./utils/echo')
|
const echo = require('./utils/echo')
|
||||||
|
|
||||||
@ -241,6 +244,9 @@ describe('peer discovery', () => {
|
|||||||
describe('MulticastDNS', () => {
|
describe('MulticastDNS', () => {
|
||||||
setup({
|
setup({
|
||||||
config: {
|
config: {
|
||||||
|
dht: {
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
peerDiscovery: {
|
peerDiscovery: {
|
||||||
mdns: {
|
mdns: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
@ -266,6 +272,9 @@ describe('peer discovery', () => {
|
|||||||
describe.skip('WebRTCStar', () => {
|
describe.skip('WebRTCStar', () => {
|
||||||
setup({
|
setup({
|
||||||
config: {
|
config: {
|
||||||
|
dht: {
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
peerDiscovery: {
|
peerDiscovery: {
|
||||||
webRTCStar: {
|
webRTCStar: {
|
||||||
enabled: true
|
enabled: true
|
||||||
@ -287,6 +296,9 @@ describe('peer discovery', () => {
|
|||||||
describe('MulticastDNS + WebRTCStar', () => {
|
describe('MulticastDNS + WebRTCStar', () => {
|
||||||
setup({
|
setup({
|
||||||
config: {
|
config: {
|
||||||
|
dht: {
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
peerDiscovery: {
|
peerDiscovery: {
|
||||||
mdns: {
|
mdns: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
@ -309,4 +321,37 @@ describe('peer discovery', () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe('dht', () => {
|
||||||
|
setup({
|
||||||
|
config: {
|
||||||
|
peerDiscovery: {
|
||||||
|
mdns: {
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
|
webRTCStar: {
|
||||||
|
enabled: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
it('find a peer', function (done) {
|
||||||
|
this.timeout(15 * 1000)
|
||||||
|
|
||||||
|
nodeA.once('peer:discovery', (peerInfo) => {
|
||||||
|
expect(nodeB.peerInfo.id.toB58String())
|
||||||
|
.to.eql(peerInfo.id.toB58String())
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
|
||||||
|
// connect two dhts
|
||||||
|
const publicPeerId = new PeerId(nodeB._dht.peerInfo.id.id, null, nodeB._dht.peerInfo.id.pubKey)
|
||||||
|
const target = new PeerInfo(publicPeerId)
|
||||||
|
target.multiaddrs = nodeB._dht.peerInfo.multiaddrs
|
||||||
|
nodeA._dht.switch.dial(target, (err) => {
|
||||||
|
expect(err).to.not.exist()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user