pub enum LimitReason {
None,
Measuring,
Measured {
chosen: usize,
chosen_rate: f64,
tried: usize,
tried_rate: f64,
},
Refused {
serving: usize,
},
Starved {
serving: usize,
},
}Expand description
Why the active connection count sits below the budget.
The scheduler does not act on this. It is carried here because every front
end observes a transfer through a callback that receives &Scheduler and
nothing else, and a dormant connection row that cannot say WHY it is dormant
reads as a dropped connection. That is how a transfer behaving correctly —
the in-band search measured two connections as slower than one and settled at
one, matching curl on the same object — came to be filed as a bug: the rows
said “waiting (connection limit)” and nothing said a measurement had been
taken or what it concluded.
Variants§
None
Nothing has lowered the count; every connection may be admitted.
Measuring
The in-band search is still measuring whether more connections pay.
Measured
The search finished: tried connections delivered tried_rate bytes/s
against chosen at chosen_rate, and the smaller count won. Rates are
zero when that level was never measured directly.
Refused
The origin refused requests (429/503) beyond serving at once.
Starved
The origin accepted connections beyond serving and then served them
nothing for a whole stall timeout while the others streamed.
Trait Implementations§
Source§impl Clone for LimitReason
impl Clone for LimitReason
Source§fn clone(&self) -> LimitReason
fn clone(&self) -> LimitReason
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more