/// A `Body` size hint /// /// The default implementation returns: /// /// * 0 for `lower` /// * `None` for `upper`. #[derive(Debug, Default, Clone)] pubstruct SizeHint {
lower: u64,
upper: Option<u64>,
}
impl SizeHint { /// Returns a new `SizeHint` with default values #[inline] pubfn new() -> SizeHint {
SizeHint::default()
}
/// Returns a new `SizeHint` with both upper and lower bounds set to the /// given value. #[inline] pubfn with_exact(value: u64) -> SizeHint {
SizeHint {
lower: value,
upper: Some(value),
}
}
/// Returns the lower bound of data that the `Body` will yield before /// completing. #[inline] pubfn lower(&self) -> u64 { self.lower
}
/// Set the value of the `lower` hint. /// /// # Panics /// /// The function panics if `value` is greater than `upper`. #[inline] pubfn set_lower(&mutself, value: u64) {
assert!(value <= self.upper.unwrap_or(u64::MAX)); self.lower = value;
}
/// Returns the upper bound of data the `Body` will yield before /// completing, or `None` if the value is unknown. #[inline] pubfn upper(&self) -> Option<u64> { self.upper
}
/// Set the value of the `upper` hint value. /// /// # Panics /// /// This function panics if `value` is less than `lower`. #[inline] pubfn set_upper(&mutself, value: u64) {
assert!(value >= self.lower, "`value` is less than than `lower`");
self.upper = Some(value);
}
/// Returns the exact size of data that will be yielded **if** the /// `lower` and `upper` bounds are equal. #[inline] pubfn exact(&self) -> Option<u64> { if Some(self.lower) == self.upper { self.upper
} else {
None
}
}
/// Set the value of the `lower` and `upper` bounds to exactly the same. #[inline] pubfn set_exact(&mutself, value: u64) { self.lower = value; self.upper = Some(value);
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-18)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.