File tree Expand file tree Collapse file tree 4 files changed +12
-16
lines changed Expand file tree Collapse file tree 4 files changed +12
-16
lines changed Original file line number Diff line number Diff line change 9
9
kNeedDrain,
10
10
kAddClient,
11
11
kRemoveClient,
12
- kDispatch
12
+ kGetDispatcher
13
13
} = require ( './pool-base' )
14
14
const Pool = require ( './pool' )
15
15
const { kUrl } = require ( './core/symbols' )
@@ -65,7 +65,7 @@ class BalancedPool extends PoolBase {
65
65
. map ( ( p ) => p [ kUrl ] . origin )
66
66
}
67
67
68
- [ kDispatch ] ( ) {
68
+ [ kGetDispatcher ] ( ) {
69
69
// We validate that pools is greater than 0,
70
70
// otherwise we would have to wait until an upstream
71
71
// is added, which might never happen.
Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ const kOnConnect = Symbol('onConnect')
20
20
const kOnDisconnect = Symbol ( 'onDisconnect' )
21
21
const kOnConnectionError = Symbol ( 'onConnectionError' )
22
22
const kQueued = Symbol ( 'queued' )
23
- const kDispatch = Symbol ( 'dispatch ' )
23
+ const kGetDispatcher = Symbol ( 'get dispatcher ' )
24
24
const kAddClient = Symbol ( 'add client' )
25
25
const kRemoveClient = Symbol ( 'remove client' )
26
26
@@ -190,19 +190,15 @@ class PoolBase extends Dispatcher {
190
190
throw new ClientClosedError ( )
191
191
}
192
192
193
- const dispatcher = this [ kDispatch ] ( )
193
+ const dispatcher = this [ kGetDispatcher ] ( )
194
194
195
195
if ( ! dispatcher ) {
196
196
this [ kNeedDrain ] = true
197
197
this [ kQueue ] . push ( { opts, handler } )
198
198
this [ kQueued ] ++
199
199
} else if ( ! dispatcher . dispatch ( opts , handler ) ) {
200
200
dispatcher [ kNeedDrain ] = true
201
- this [ kNeedDrain ] = this [ kClients ] . some ( dispatcher => (
202
- ! dispatcher [ kNeedDrain ] &&
203
- dispatcher . closed !== true &&
204
- dispatcher . destroyed !== true
205
- ) )
201
+ this [ kNeedDrain ] = ! this [ kGetDispatcher ] ( )
206
202
}
207
203
} catch ( err ) {
208
204
if ( typeof handler . onError !== 'function' ) {
@@ -257,5 +253,5 @@ module.exports = {
257
253
kNeedDrain,
258
254
kAddClient,
259
255
kRemoveClient,
260
- kDispatch
256
+ kGetDispatcher
261
257
}
Original file line number Diff line number Diff line change 5
5
kClients,
6
6
kNeedDrain,
7
7
kAddClient,
8
- kDispatch
8
+ kGetDispatcher
9
9
} = require ( './pool-base' )
10
10
const Client = require ( './client' )
11
11
const {
@@ -64,7 +64,7 @@ class Pool extends PoolBase {
64
64
this [ kFactory ] = factory
65
65
}
66
66
67
- [ kDispatch ] ( ) {
67
+ [ kGetDispatcher ] ( ) {
68
68
let dispatcher = this [ kClients ] . find ( dispatcher => ! dispatcher [ kNeedDrain ] )
69
69
70
70
if ( dispatcher ) {
Original file line number Diff line number Diff line change @@ -321,11 +321,11 @@ test('backpressure algorithm', (t) => {
321
321
322
322
writeMore = true
323
323
324
- d4 . client . emit ( 'drain' , new URL ( 'http://notahost' ) )
324
+ d4 . client . emit ( 'drain' , new URL ( 'http://notahost' ) , [ ] )
325
325
326
326
pool . dispatch ( { } , noopHandler ) // d5 = c1
327
327
328
- d3 . client . emit ( 'drain' , new URL ( 'http://notahost' ) )
328
+ d3 . client . emit ( 'drain' , new URL ( 'http://notahost' ) , [ ] )
329
329
330
330
pool . dispatch ( { } , noopHandler ) // d6 = c0
331
331
@@ -337,7 +337,7 @@ test('backpressure algorithm', (t) => {
337
337
t . equal ( d5 . id , d4 . id )
338
338
t . equal ( d3 . id , d6 . id )
339
339
340
- t . equal ( total , 2 )
340
+ t . equal ( total , 3 )
341
341
342
342
t . end ( )
343
343
} )
@@ -380,7 +380,7 @@ test('busy', (t) => {
380
380
} )
381
381
} )
382
382
t . equal ( client [ kPending ] , n )
383
- t . equal ( client [ kBusy ] , n > 2 )
383
+ t . equal ( client [ kBusy ] , n > 1 )
384
384
t . equal ( client [ kSize ] , n )
385
385
t . equal ( client [ kRunning ] , 0 )
386
386
}
You can’t perform that action at this time.
0 commit comments