pub(super) struct ParsedBatch {Show 13 fields
metas: Vec<ParsedMeta>,
name_pool: Vec<u8>,
lower_pool: Vec<u8>,
rec_pool: Vec<u8>,
deferred: Vec<(u64, Range<usize>)>,
extensions: Vec<(u64, Range<usize>)>,
files: u64,
dirs: u64,
corrupt_records: u64,
extension_records: u64,
skipped_no_name: u64,
pub(super) deferred_unresolved: u64,
pub(super) deferred_name_read_failures: u64,
}Expand description
One worker’s output for a record sub-range, in record order.
Fields§
§metas: Vec<ParsedMeta>§name_pool: Vec<u8>§lower_pool: Vec<u8>§rec_pool: Vec<u8>Raw record bytes referenced by deferred/extensions — one pool
per batch instead of a box per record (the global RecordArena gets
them at append time).
deferred: Vec<(u64, Range<usize>)>§extensions: Vec<(u64, Range<usize>)>Extension records carrying a $FILE_NAME — the targets the deferred
pass will need. Keeping them now turns that pass’s random disk reads
into RAM lookups (the whole $MFT just streamed through here anyway).
files: u64§dirs: u64§corrupt_records: u64§extension_records: u64§skipped_no_name: u64§deferred_unresolved: u64§deferred_name_read_failures: u64Deferred-pass disk reads that failed (LazyRecordReader) — folded
into ScanStats::deferred_name_read_failures at append time.
Implementations§
Source§impl ParsedBatch
impl ParsedBatch
fn push_record(&mut self, bytes: &[u8]) -> Range<usize>
Sourcepub(super) fn push_named(&mut self, f: &NtfsFile<'_>, name: &NtfsFileName)
pub(super) fn push_named(&mut self, f: &NtfsFile<'_>, name: &NtfsFileName)
Encode a named record into this batch (WTF-8 pair + meta).
Trait Implementations§
Source§impl Default for ParsedBatch
impl Default for ParsedBatch
Source§fn default() -> ParsedBatch
fn default() -> ParsedBatch
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ParsedBatch
impl RefUnwindSafe for ParsedBatch
impl Send for ParsedBatch
impl Sync for ParsedBatch
impl Unpin for ParsedBatch
impl UnsafeUnpin for ParsedBatch
impl UnwindSafe for ParsedBatch
Blanket Implementations§
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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