Skip to main content

MAX_SSA_BATCH_SIZE

Constant MAX_SSA_BATCH_SIZE 

Source
pub const MAX_SSA_BATCH_SIZE: usize = 20;
Expand description

Hard ceiling on both SSA batch-size knobs, whatever the configuration says.

Deliberately far below the wire limit (StartProtocol::MAX_SSAS_PER_REQUEST, 27), which only bounds what can be decoded. The real cost is paid on both sides of the exchange, and neither is small at the profiled dimensions:

  • Entry: every entry in the batch is a full new_ssa_commitment (hundreds of thousands of EC commitments), its own burst of thousands of SsaCommit packets, and its own ReadyToDeposit — i.e. its own on-chain deposit.
  • Exit: every entry is a live reconstructor cycle, ≈49 MiB of peak state, held until that cycle recovers. At this ceiling that is ≈1 GB per Session.

Both IncomingSessionPixConfig::ssas_per_request and SessionManagerConfig::max_ssas_per_ssa_request are clamped to 1..=Self in SessionManager::new, so a programmatically built config that never calls validate() cannot exceed it.