use std::sync::atomic::AtomicBool;
use gix_error::ExnResult;
use gix_features::progress::Progress;
use crate::data::File;
impl<T> File<T>
where
T: crate::FileData,
{
pub fn checksum(&self) -> gix_hash::ObjectId {
gix_hash::ObjectId::from_bytes_or_panic(&self.data[self.data.len() - self.object_hash.len_in_bytes()..])
}
pub fn verify_checksum(
&self,
progress: &mut dyn Progress,
should_interrupt: &AtomicBool,
) -> ExnResult<gix_hash::ObjectId> {
crate::verify::checksum_on_disk_or_mmap(
self.path(),
&self.data,
self.checksum(),
self.object_hash,
progress,
should_interrupt,
)
}
}