pub fn validate_h2_flood_knobs_http(
patch: &UpdateHttpListenerConfig,
) -> Result<(), StateError>Expand description
Validate all H2 flood knobs in an HTTP listener patch.
Every flood-detector knob (including stream-0 WINDOW_UPDATE) requires a
value >= 1. 0 does not disable the detector — check_flood compares
count > threshold, so it makes the first event that counter sees a
violation, which is every request for h2_max_header_list_size and
h2_max_header_fields (also the HPACK decode budget) and the first
matching frame for the per-window and lifetime counters. The runtime
constructor H2FloodConfig::new() clamps with .max(1) instead, but a
clamp rewrites the operator’s stated value, so the control plane refuses
it here.
h2_max_concurrent_streams is a connection-config knob that also requires
>= 1; h2_stream_shrink_ratio requires >= 2.
h2_graceful_shutdown_deadline_seconds = 0 is intentionally allowed —
it means “wait forever (no forced close after GOAWAY)”.