logo
const VERIFICATION_PIPELINE_SCALING_MULTIPLIER: usize = 2;
Expand description

A multiplier used to calculate the extra number of blocks we allow in the verifier and state pipelines, on top of the lookahead limit.

The extra number of blocks is calculated using lookahead_limit * VERIFICATION_PIPELINE_SCALING_MULTIPLIER.

This allows the verifier and state queues to hold a few extra tips responses worth of blocks, even if the syncer queue is full. Any unused capacity is shared between both queues.

If this capacity is exceeded, the downloader will start failing download blocks with BlockDownloadVerifyError::AboveLookaheadHeightLimit, and the syncer will reset.

Since the syncer queue is limited to the lookahead_limit, the rest of the capacity is reserved for the other queues. There is no reserved capacity for the syncer queue: if the other queues stay full, the syncer will eventually time out and reset.