in core/src/layers/complete.rs [801:823]
fn write(&mut self, bs: Bytes) -> Result<()> {
let n = bs.len();
if let Some(size) = self.size {
if self.written + n as u64 > size {
return Err(Error::new(
ErrorKind::ContentTruncated,
&format!(
"writer got too much data, expect: {size}, actual: {}",
self.written + n as u64
),
));
}
}
let w = self.inner.as_mut().ok_or_else(|| {
Error::new(ErrorKind::Unexpected, "writer has been closed or aborted")
})?;
w.write(bs)?;
self.written += n as u64;
Ok(())
}