in core/src/layers/logging.rs [1135:1179]
fn poll_next(&mut self, cx: &mut Context<'_>) -> Poll<Option<Result<Bytes>>> {
match self.inner.poll_next(cx) {
Poll::Ready(res) => match res {
Some(Ok(bs)) => {
self.read += bs.len() as u64;
trace!(
target: LOGGING_TARGET,
"service={} operation={} path={} read={} -> data read {}B",
self.scheme,
ReadOperation::Next,
self.path,
self.read,
bs.len()
);
Poll::Ready(Some(Ok(bs)))
}
Some(Err(err)) => {
if let Some(lvl) = self.failure_level {
log!(
target: LOGGING_TARGET,
lvl,
"service={} operation={} path={} read={} -> data read failed: {err:?}",
self.scheme,
ReadOperation::Next,
self.path,
self.read,
)
}
Poll::Ready(Some(Err(err)))
}
None => Poll::Ready(None),
},
Poll::Pending => {
trace!(
target: LOGGING_TARGET,
"service={} operation={} path={} read={} -> data read pending",
self.scheme,
ReadOperation::Next,
self.path,
self.read
);
Poll::Pending
}
}
}