🚀 Launch Week Day 4:Introducing the Alert Details Page: A Better Way to Explore Alerts.Learn More →
Socket
Book a DemoInstallSign in
Socket

protomux-rpc-client-pool

Package Overview
Dependencies
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

protomux-rpc-client-pool

Reliably connect to one of a pool of protomux-rpc servers

latest
Source
npmnpm
Version
2.1.0
Version published
Weekly downloads
966
-11.62%
Maintainers
2
Weekly downloads
 
Created
Source

Protomux RPC Client Pool

Reliably connect to one of a pool of protomux-rpc servers.

Picks a random server to connect to, and keeps connecting to that server, unless it fails to respond, in which case it automatically switches over to another one.

Install

npm i protomux-rpc-client-pool

API

const pool = new ProtomuxRpcClientPool(keys, rpcClient, opts)

Create a new pool. keys is a list of HyperDHT servers that expose the same protomux-rpc service. rpcClient is a Protomux RPC client instance.

opts include:

  • retries : the number of times to retry a request with a different server before giving up. Default: 3.
  • rpcTimeout : the default timeout for a single request attempt, in ms.
  • totalTimeout: the default timeout for the entire request, in ms. This timeout operates independently of rpcTimeout.
  • rateLimit: bucket rate limit config
  • ratelimit.capacity: max tokens (burst capacity). Set to -1 to disable the rate limit.
  • ratelimit.intervalMs: time interval in milliseconds to refill 1 token

await pool.makeRequest(methodName, args, opts)

Makes a request for the specifed methodName to one of the servers in the pool, passing the args. If the server fails to respond, it automatically retries with other servers.

Throws a ProtomuxRpcClientPoolError.TOO_MANY_RETRIES error if the request attempt fails pool.retries times. Throws a ProtomuxRpcClientPoolError.POOL_REQUEST_TIMEOUT error if the request exceeds total timeout.

opts include:

  • requestEncoding the request encoding of the RPC service
  • responseEncoding the response encoding of the RPC service
  • rpcTimeout the timeout to use for each request attempt (in ms). Defaults to pool.rpcTimeout.
  • totalTimeout the timeout for entire request (in ms). Defaults to pool.totalTimeout.

pool.destroy()

Destroy the pool, cleanup the ratelimit

Keywords

protomux

FAQs

Package last updated on 08 Jan 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts