fn validate()

in cas_object/src/cas_chunk_format.rs [66:89]


    fn validate(&self) -> Result<(), CasObjectError> {
        let _ = self.get_compression_scheme()?;
        if self.version > CURRENT_VERSION {
            return Err(CasObjectError::FormatError(anyhow!(
                "chunk header version too high at {}, current version is {}",
                self.version,
                CURRENT_VERSION
            )));
        }
        if self.get_compressed_length() as usize > MAXIMUM_CHUNK_SIZE * 2 {
            return Err(CasObjectError::FormatError(anyhow!(
                "chunk header compressed length too large at {}, maximum: {MAXIMUM_CHUNK_SIZE}",
                self.get_compressed_length()
            )));
        }
        // the max chunk size is strictly enforced
        if self.get_uncompressed_length() as usize > MAXIMUM_CHUNK_SIZE {
            return Err(CasObjectError::FormatError(anyhow!(
                "chunk header uncompressed length too large at {}, maximum: {MAXIMUM_CHUNK_SIZE}",
                self.get_uncompressed_length()
            )));
        }
        Ok(())
    }