pub struct FileValidator { /* private fields */ }Expand description
Pre-mmap file validator
Implementations§
Source§impl FileValidator
impl FileValidator
pub fn new(config: ValidationConfig) -> Self
pub fn with_metrics( config: ValidationConfig, metrics: Arc<ValidationMetrics>, ) -> Self
pub fn metrics(&self) -> &Arc<ValidationMetrics>
Sourcepub fn validate_before_mmap(
&self,
path: &Path,
) -> Result<FileMetadata, ValidationError>
pub fn validate_before_mmap( &self, path: &Path, ) -> Result<FileMetadata, ValidationError>
Validate file before memory mapping
Steps:
- Check file size constraints
- Read and verify header magic/version
- Read and verify footer checksum (optional)
- Sample random edges for corruption (optional)
Auto Trait Implementations§
impl Freeze for FileValidator
impl RefUnwindSafe for FileValidator
impl Send for FileValidator
impl Sync for FileValidator
impl Unpin for FileValidator
impl UnsafeUnpin for FileValidator
impl UnwindSafe for FileValidator
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more