Skip to main content

ApplySession

Struct ApplySession 

Source
pub struct ApplySession { /* private fields */ }
Expand description

Active apply-time runtime state.

Holds the mutable scratch and bookkeeping a running apply needs: open file-handle cache, memoised directory and path caches, the reusable DEFLATE decompressor, and per-chunk progress counters.

Implementations§

Source§

impl ApplySession

Source

pub fn apply_patch<R: Read>( &mut self, reader: ZiPatchReader<R>, ) -> ApplyResult<()>

Iterate every chunk in reader and apply each one to this session.

This is the primary high-level entry point for applying a patch. It drives the ZiPatchReader to completion, dispatching each yielded Chunk through the apply layer in stream order.

Chunks must be applied in order — the ZiPatch format is a sequential log and later chunks may depend on filesystem state produced by earlier ones.

§Errors

Stops at the first parse or apply error and returns it immediately. Any filesystem changes already applied by earlier chunks are not rolled back.

Source

pub fn resume_apply_patch<R: Read + Seek>( &mut self, reader: ZiPatchReader<R>, from: Option<&SequentialCheckpoint>, ) -> ApplyResult<SequentialCheckpoint>

Resume a previously interrupted apply from a SequentialCheckpoint.

See ApplyConfig::resume_apply_patch for the conceptual overview and the resume contract.

§Errors

Same vocabulary as Self::apply_patch, plus ApplyError::SchemaVersionMismatch when from.schema_version does not equal SequentialCheckpoint::CURRENT_SCHEMA_VERSION.

Source§

impl ApplySession

Source

pub fn config(&self) -> &ApplyConfig

Returns the underlying ApplyConfig.

Source

pub fn game_path(&self) -> &Path

Returns the game installation directory.

Source

pub fn platform(&self) -> Platform

Returns the current target platform.

Source

pub fn ignore_missing(&self) -> bool

Returns whether missing files are silently ignored.

Source

pub fn ignore_old_mismatch(&self) -> bool

Returns whether old-data mismatches are silently ignored.

Source

pub fn sync_all(&mut self) -> Result<()>

Flush every cached BufWriter, then sync_all the underlying handles.

Source

pub fn flush(&mut self) -> Result<()>

Flush every buffered write through to the underlying Vfs handle.

Trait Implementations§

Source§

impl Debug for ApplySession

Source§

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

Formats the value using the given formatter. Read more

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> 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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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