fn write()

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(())
    }