pub enum Chunk {
FileHeader(FileHeader),
ApplyOption(ApplyOption),
ApplyFreeSpace(ApplyFreeSpace),
AddDirectory(AddDirectory),
DeleteDirectory(DeleteDirectory),
Sqpk(SqpkCommand),
EndOfFile,
}Expand description
One top-level chunk parsed from a ZiPatch stream.
Each variant corresponds to a 4-byte ASCII wire tag.
§Observed frequency
SE’s XIVARR+ patch files almost exclusively contain FHDR, APLY, and
SQPK chunks. ADIR/DELD can theoretically appear and are implemented,
but are rarely emitted in practice. APFS has never been observed in modern
patches and is treated as a no-op. EOF_ is consumed by ZiPatchReader
and is never yielded to the caller.
Variants§
FileHeader(FileHeader)
FHDR — the first chunk in every patch file; carries version and
per-version patch metadata. See [FileHeader] for the versioned body.
ApplyOption(ApplyOption)
APLY — sets or clears a boolean apply-time flag on the
crate::ApplyConfig (e.g. “ignore missing files”). See [ApplyOption].
ApplyFreeSpace(ApplyFreeSpace)
APFS — free-space book-keeping emitted by old patcher tooling; treated
as a no-op at apply time. See [ApplyFreeSpace].
AddDirectory(AddDirectory)
ADIR — instructs the patcher to create a directory under the game
install root. See [AddDirectory].
DeleteDirectory(DeleteDirectory)
DELD — instructs the patcher to remove a directory under the game
install root. See [DeleteDirectory].
Sqpk(SqpkCommand)
SQPK — the workhorse chunk; wraps one of eight sub-commands that
add, delete, expand, or replace SqPack data. See SqpkCommand.
EndOfFile
EOF_ — marks the clean end of the patch stream. ZiPatchReader
consumes this chunk internally; it is never yielded to the caller.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Chunk
impl RefUnwindSafe for Chunk
impl Send for Chunk
impl Sync for Chunk
impl Unpin for Chunk
impl UnsafeUnpin for Chunk
impl UnwindSafe for Chunk
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
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>
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>
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