Skip to content

Latest commit

 

History

History
104 lines (55 loc) · 3.25 KB

File metadata and controls

104 lines (55 loc) · 3.25 KB

Class: BalancedPool

Extends: undici.Dispatcher

A pool of Pool instances connected to multiple upstreams.

Requests are not guaranteed to be dispatched in order of invocation.

new BalancedPool(upstreams [, options])

Arguments:

  • upstreams URL | string | string[] - It should only include the protocol, hostname, and port.
  • options BalancedPoolOptions (optional)

Parameter: BalancedPoolOptions

Extends: PoolOptions

  • factory (origin: URL, opts: Object) => Dispatcher - Default: (origin, opts) => new Pool(origin, opts)

The PoolOptions are passed to each of the Pool instances being created.

When an upstream hostname resolves to multiple DNS records, BalancedPool resolves the hostname lazily at connect time and rotates new connections across the resolved addresses. Requests continue to use the original hostname for Host headers and TLS servername.

Instance Properties

BalancedPool.upstreams

Returns an array of upstreams that were previously added.

BalancedPool.closed

Implements Client.closed

BalancedPool.destroyed

Implements Client.destroyed

Pool.stats

Returns PoolStats instance for this pool.

Instance Methods

BalancedPool.addUpstream(upstream)

Add an upstream.

Arguments:

  • upstream string - It should only include the protocol, hostname, and port.

BalancedPool.removeUpstream(upstream)

Removes an upstream that was previously added.

BalancedPool.close([callback])

Implements Dispatcher.close([callback]).

BalancedPool.destroy([error, callback])

Implements Dispatcher.destroy([error, callback]).

BalancedPool.connect(options[, callback])

See Dispatcher.connect(options[, callback]).

BalancedPool.dispatch(options, handlers)

Implements Dispatcher.dispatch(options, handlers).

BalancedPool.pipeline(options, handler)

See Dispatcher.pipeline(options, handler).

BalancedPool.request(options[, callback])

See Dispatcher.request(options [, callback]).

BalancedPool.stream(options, factory[, callback])

See Dispatcher.stream(options, factory[, callback]).

BalancedPool.upgrade(options[, callback])

See Dispatcher.upgrade(options[, callback]).

Instance Events

Event: 'connect'

See Dispatcher Event: 'connect'.

Event: 'disconnect'

See Dispatcher Event: 'disconnect'.

Event: 'drain'

See Dispatcher Event: 'drain'.