DEFAULT_MAX_BLOCKING_IO_REQUEST

Constant DEFAULT_MAX_BLOCKING_IO_REQUEST 

Source
pub const DEFAULT_MAX_BLOCKING_IO_REQUEST: usize = 256; // 256usize
Expand description

Setting for how many concurrent (heavier) blocking IO requests are allowed.

What is considered a blocking IO request can depend on the RPC method. In general anything that requires IO is considered blocking and should be spawned as blocking. This setting is however, primarily intended for heavier blocking requests that require evm execution for example, eth_call and alike. This is intended to be used with a semaphore that must be acquired before a new task is spawned to avoid unnecessary pooling if the number of inflight requests exceeds the available threads in the pool.

tokio’s blocking pool, has a default of 512 and could grow unbounded, since requests like eth_call also require a lot of cpu which will occupy the thread, we can set this to a lower value.