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 ofSsaCommitpackets, and its ownReadyToDeposit— 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.