From 91e60d42539d72e8edfa568b06cf2ce556ac23d6 Mon Sep 17 00:00:00 2001 From: Thomas Eizinger Date: Mon, 4 Feb 2019 12:20:24 +1100 Subject: [PATCH] feat: prepare for new randomWalk config parameters As per: https://github.com/libp2p/js-libp2p-kad-dht/issues/76 fix: pass whole dht config into DHT constructor --- src/config.js | 7 ++++++- src/index.js | 6 +----- test/config.spec.js | 14 ++++++++++++-- test/utils/bundle-browser.js | 4 +++- test/utils/bundle-nodejs.js | 4 +++- 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/config.js b/src/config.js index 9d44e14b..aa38063b 100644 --- a/src/config.js +++ b/src/config.js @@ -34,7 +34,12 @@ const OptionsSchema = Joi.object({ dht: Joi.object().keys({ kBucketSize: Joi.number().default(20), enabled: Joi.boolean().default(true), - enabledDiscovery: Joi.boolean().default(true), + randomWalk: Joi.object().keys({ + enabled: Joi.boolean().default(true), + queriesPerPeriod: Joi.number().default(1), + interval: Joi.number().default(30000), + timeout: Joi.number().default(10000) + }).default(), validators: Joi.object().allow(null), selectors: Joi.object().allow(null) }).default(), diff --git a/src/index.js b/src/index.js index 0350b692..986e9532 100644 --- a/src/index.js +++ b/src/index.js @@ -105,14 +105,10 @@ class Node extends EventEmitter { // dht provided components (peerRouting, contentRouting, dht) if (this._config.dht.enabled) { const DHT = this._modules.dht - const enabledDiscovery = this._config.dht.enabledDiscovery !== false this._dht = new DHT(this._switch, { - kBucketSize: this._config.dht.kBucketSize, - enabledDiscovery, datastore: this.datastore, - validators: this._config.dht.validators, - selectors: this._config.dht.selectors + ...this._config.dht }) } diff --git a/test/config.spec.js b/test/config.spec.js index 3864673b..b8c00f08 100644 --- a/test/config.spec.js +++ b/test/config.spec.js @@ -96,7 +96,12 @@ describe('configuration', () => { dht: { kBucketSize: 20, enabled: true, - enabledDiscovery: true + randomWalk: { + enabled: true, + queriesPerPeriod: 1, + interval: 30000, + timeout: 10000 + } }, relay: { enabled: true @@ -185,7 +190,12 @@ describe('configuration', () => { dht: { kBucketSize: 20, enabled: true, - enabledDiscovery: true, + randomWalk: { + enabled: true, + queriesPerPeriod: 1, + interval: 30000, + timeout: 10000 + }, selectors, validators } diff --git a/test/utils/bundle-browser.js b/test/utils/bundle-browser.js index 2ca716a0..831821f6 100644 --- a/test/utils/bundle-browser.js +++ b/test/utils/bundle-browser.js @@ -80,7 +80,9 @@ class Node extends libp2p { }, dht: { kBucketSize: 20, - enabledDiscovery: true, + randomWalk: { + enabled: true + }, enabled: false }, EXPERIMENTAL: { diff --git a/test/utils/bundle-nodejs.js b/test/utils/bundle-nodejs.js index d59987ce..55faa6c2 100644 --- a/test/utils/bundle-nodejs.js +++ b/test/utils/bundle-nodejs.js @@ -73,7 +73,9 @@ class Node extends libp2p { }, dht: { kBucketSize: 20, - enabledDiscovery: true, + randomWalk: { + enabled: true + }, enabled: true }, EXPERIMENTAL: {