Skip to main content

InFlightAddFile

Struct InFlightAddFile 

Source
#[non_exhaustive]
pub struct InFlightAddFile { pub target_path: PathBuf, pub file_offset: u64, pub block_idx: u32, pub bytes_into_target: u64, }
Expand description

Mid-AddFile state — the DEFLATE block boundary the driver is between.

Resume reads this back, opens target_path, seeks to file_offset + bytes_into_target, and re-feeds the chunk’s remaining blocks starting from block_idx. The chunk’s path and file_offset are echoed in full to make the resume self-contained — callers shouldn’t have to cross-reference the original patch stream to interpret the checkpoint.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§target_path: PathBuf

Absolute filesystem path of the target file the AddFile writes into.

§file_offset: u64

The chunk’s wire-format file_offset — the byte offset within the target file at which block 0 starts.

§block_idx: u32

Zero-based index of the next block to write. Equal to the count of blocks already written for this AddFile.

§bytes_into_target: u64

Total decompressed bytes written into the target file so far for this AddFile. The current writer position is file_offset + bytes_into_target.

Implementations§

Source§

impl InFlightAddFile

Source

pub fn new( target_path: PathBuf, file_offset: u64, block_idx: u32, bytes_into_target: u64, ) -> Self

Construct an InFlightAddFile with the given fields.

Exists because the struct is #[non_exhaustive], which forbids external code from using the struct-literal syntax.

§Notes

Permissive by design: any combination of fields is accepted, including ones the apply driver would never produce (e.g. block_idx = u32::MAX, or a bytes_into_target that does not correspond to any real block boundary). Resume re-validates the in-flight state against the patch stream and the on-disk file before acting on it; contradictory inputs trigger a warn-and-restart path rather than silent corruption.

Trait Implementations§

Source§

impl Clone for InFlightAddFile

Source§

fn clone(&self) -> InFlightAddFile

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for InFlightAddFile

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for InFlightAddFile

Source§

fn eq(&self, other: &InFlightAddFile) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for InFlightAddFile

Source§

impl StructuralPartialEq for InFlightAddFile

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more