{{#extends "base"}}
{{#block "main"}}
{{lead}}{{headline}}
// src/lib.rs · Rust 1.85 Edition 2024 · Async Streams
pub async fn process_stream<S>(mut stream: S) -> Result<Metrics, Error>
where
S: Stream<Item = Event> + Unpin,
{
let mut metrics = Metrics::default();
while let Some(event) = stream.next().await {
metrics.record(event.process().await?);
}
Ok(metrics)
}