File tree Expand file tree Collapse file tree 4 files changed +61
-7
lines changed Expand file tree Collapse file tree 4 files changed +61
-7
lines changed Original file line number Diff line number Diff line change @@ -32,9 +32,11 @@ const OptionsSchema = Joi.object({
32
32
} )
33
33
} ) . default ( ) ,
34
34
dht : Joi . object ( ) . keys ( {
35
- kBucketSize : Joi . number ( ) . allow ( null ) ,
36
- enabledDiscovery : Joi . boolean ( ) . default ( true )
37
- } ) ,
35
+ kBucketSize : Joi . number ( ) . default ( 20 ) ,
36
+ enabledDiscovery : Joi . boolean ( ) . default ( true ) ,
37
+ validators : Joi . object ( ) . allow ( null ) ,
38
+ selectors : Joi . object ( ) . allow ( null )
39
+ } ) . default ( ) ,
38
40
EXPERIMENTAL : Joi . object ( ) . keys ( {
39
41
dht : Joi . boolean ( ) . default ( false ) ,
40
42
pubsub : Joi . boolean ( ) . default ( false )
Original file line number Diff line number Diff line change @@ -102,9 +102,11 @@ class Node extends EventEmitter {
102
102
const enabledDiscovery = this . _config . dht . enabledDiscovery !== false
103
103
104
104
this . _dht = new DHT ( this . _switch , {
105
- kBucketSize : this . _config . dht . kBucketSize || 20 ,
105
+ kBucketSize : this . _config . dht . kBucketSize ,
106
106
enabledDiscovery,
107
- datastore : this . datastore
107
+ datastore : this . datastore ,
108
+ validators : this . _config . dht . validators || { } ,
109
+ selectors : this . _config . dht . selectors || { }
108
110
} )
109
111
}
110
112
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ const WS = require('libp2p-websockets')
11
11
const Bootstrap = require ( 'libp2p-bootstrap' )
12
12
const DelegatedPeerRouter = require ( 'libp2p-delegated-peer-routing' )
13
13
const DelegatedContentRouter = require ( 'libp2p-delegated-content-routing' )
14
+ const DHT = require ( 'libp2p-kad-dht' )
14
15
15
16
const validateConfig = require ( '../src/config' ) . validate
16
17
@@ -91,6 +92,10 @@ describe('configuration', () => {
91
92
pubsub : false ,
92
93
dht : false
93
94
} ,
95
+ dht : {
96
+ kBucketSize : 20 ,
97
+ enabledDiscovery : true
98
+ } ,
94
99
relay : {
95
100
enabled : true
96
101
}
@@ -143,4 +148,49 @@ describe('configuration', () => {
143
148
144
149
expect ( ( ) => validateConfig ( options ) ) . to . throw ( )
145
150
} )
151
+
152
+ it ( 'should add defaults, validators and selectors for dht' , ( ) => {
153
+ const selectors = { }
154
+ const validators = { }
155
+
156
+ const options = {
157
+ peerInfo,
158
+ modules : {
159
+ transport : [ WS ] ,
160
+ dht : DHT
161
+ } ,
162
+ config : {
163
+ EXPERIMENTAL : {
164
+ dht : true
165
+ } ,
166
+ dht : {
167
+ selectors,
168
+ validators
169
+ }
170
+ }
171
+ }
172
+ const expected = {
173
+ peerInfo,
174
+ modules : {
175
+ transport : [ WS ] ,
176
+ dht : DHT
177
+ } ,
178
+ config : {
179
+ EXPERIMENTAL : {
180
+ pubsub : false ,
181
+ dht : true
182
+ } ,
183
+ relay : {
184
+ enabled : true
185
+ } ,
186
+ dht : {
187
+ kBucketSize : 20 ,
188
+ enabledDiscovery : true ,
189
+ selectors,
190
+ validators
191
+ }
192
+ }
193
+ }
194
+ expect ( validateConfig ( options ) ) . to . deep . equal ( expected )
195
+ } )
146
196
} )
Original file line number Diff line number Diff line change @@ -427,7 +427,7 @@ describe('transports', () => {
427
427
cb ( )
428
428
} ) ,
429
429
( cb ) => {
430
- const wstar = new WRTCStar ( { wrtc : wrtc } )
430
+ const wstar = new WRTCStar ( { wrtc : wrtc } )
431
431
432
432
createNode ( [
433
433
'/ip4/0.0.0.0/tcp/0' ,
@@ -474,7 +474,7 @@ describe('transports', () => {
474
474
} ) ,
475
475
476
476
( cb ) => {
477
- const wstar = new WRTCStar ( { wrtc : wrtc } )
477
+ const wstar = new WRTCStar ( { wrtc : wrtc } )
478
478
479
479
createNode ( [
480
480
'/ip4/127.0.0.1/tcp/24642/ws/p2p-webrtc-star'
You can’t perform that action at this time.
0 commit comments