mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-03-16 07:30:51 +00:00
fix: start kad dht random walk (#251)
* fix: start kad dht random walk * chore: added tests and stop random walk * chore: allows to disable discovery for dht * chore: upgrade kad-dht version
This commit is contained in:
parent
cef3c8b5cc
commit
dd934b9690
@ -162,7 +162,8 @@ class Node extends libp2p {
|
||||
}
|
||||
},
|
||||
dht: {
|
||||
kBucketSize: 20
|
||||
kBucketSize: 20,
|
||||
enabledDiscovery: true // Allows to disable discovery (enabled by default)
|
||||
},
|
||||
// Enable/Disable Experimental features
|
||||
EXPERIMENTAL: { // Experimental features ("behind a flag")
|
||||
|
@ -59,7 +59,7 @@
|
||||
"dirty-chai": "^2.0.1",
|
||||
"electron-webrtc": "~0.3.0",
|
||||
"libp2p-circuit": "~0.2.1",
|
||||
"libp2p-kad-dht": "~0.10.3",
|
||||
"libp2p-kad-dht": "~0.10.5",
|
||||
"libp2p-mdns": "~0.12.0",
|
||||
"libp2p-mplex": "~0.8.2",
|
||||
"libp2p-bootstrap": "~0.9.3",
|
||||
|
@ -29,7 +29,8 @@ const OptionsSchema = Joi.object({
|
||||
})
|
||||
}).default(),
|
||||
dht: Joi.object().keys({
|
||||
kBucketSize: Joi.number().allow(null)
|
||||
kBucketSize: Joi.number().allow(null),
|
||||
enabledDiscovery: Joi.boolean().default(true)
|
||||
}),
|
||||
EXPERIMENTAL: Joi.object().keys({
|
||||
dht: Joi.boolean().default(false),
|
||||
|
@ -85,8 +85,11 @@ class Node extends EventEmitter {
|
||||
// dht provided components (peerRouting, contentRouting, dht)
|
||||
if (this._config.EXPERIMENTAL.dht) {
|
||||
const DHT = this._modules.dht
|
||||
const enabledDiscovery = this._config.dht.enabledDiscovery !== false
|
||||
|
||||
this._dht = new DHT(this._switch, {
|
||||
kBucketSize: this._config.dht.kBucketSize || 20,
|
||||
enabledDiscovery,
|
||||
// TODO make datastore an option of libp2p itself so
|
||||
// that other things can use it as well
|
||||
datastore: dht.datastore
|
||||
|
@ -28,10 +28,12 @@ describe('libp2p creation', () => {
|
||||
sinon.spy(sw, 'start')
|
||||
sinon.spy(cm, 'start')
|
||||
sinon.spy(dht, 'start')
|
||||
sinon.spy(dht.randomWalk, 'start')
|
||||
sinon.spy(pub, 'start')
|
||||
sinon.spy(sw, 'stop')
|
||||
sinon.spy(cm, 'stop')
|
||||
sinon.spy(dht, 'stop')
|
||||
sinon.spy(dht.randomWalk, 'stop')
|
||||
sinon.spy(pub, 'stop')
|
||||
sinon.spy(node, 'emit')
|
||||
|
||||
@ -41,6 +43,7 @@ describe('libp2p creation', () => {
|
||||
expect(sw.start.calledOnce).to.equal(true)
|
||||
expect(cm.start.calledOnce).to.equal(true)
|
||||
expect(dht.start.calledOnce).to.equal(true)
|
||||
expect(dht.randomWalk.start.calledOnce).to.equal(true)
|
||||
expect(pub.start.calledOnce).to.equal(true)
|
||||
expect(node.emit.calledWith('start')).to.equal(true)
|
||||
|
||||
@ -53,6 +56,7 @@ describe('libp2p creation', () => {
|
||||
expect(sw.stop.calledOnce).to.equal(true)
|
||||
expect(cm.stop.calledOnce).to.equal(true)
|
||||
expect(dht.stop.calledOnce).to.equal(true)
|
||||
expect(dht.randomWalk.stop.called).to.equal(true)
|
||||
expect(pub.stop.calledOnce).to.equal(true)
|
||||
expect(node.emit.calledWith('stop')).to.equal(true)
|
||||
|
||||
|
@ -79,7 +79,8 @@ class Node extends libp2p {
|
||||
}
|
||||
},
|
||||
dht: {
|
||||
kBucketSize: 20
|
||||
kBucketSize: 20,
|
||||
enabledDiscovery: true
|
||||
},
|
||||
EXPERIMENTAL: {
|
||||
dht: false,
|
||||
|
@ -72,7 +72,8 @@ class Node extends libp2p {
|
||||
}
|
||||
},
|
||||
dht: {
|
||||
kBucketSize: 20
|
||||
kBucketSize: 20,
|
||||
enabledDiscovery: true
|
||||
},
|
||||
EXPERIMENTAL: {
|
||||
dht: false,
|
||||
|
Loading…
x
Reference in New Issue
Block a user