fn close()

in core/src/layers/complete.rs [825:845]


    fn close(&mut self) -> Result<()> {
        if let Some(size) = self.size {
            if self.written < size {
                return Err(Error::new(
                    ErrorKind::ContentIncomplete,
                    &format!(
                        "writer got too less data, expect: {size}, actual: {}",
                        self.written
                    ),
                ));
            }
        }

        let w = self.inner.as_mut().ok_or_else(|| {
            Error::new(ErrorKind::Unexpected, "writer has been closed or aborted")
        })?;

        w.close()?;
        self.inner = None;
        Ok(())
    }