pub enum FrameShape {
Stream,
Sized,
}Expand description
How each tile / chunk is framed by zstd.
Variants§
Stream
A streaming frame without a content size: what every writer up to 0.3
produced, and still available (RETE_ZSTD_FRAME=stream) to reproduce a
0.3 file byte for byte. Not knowing the input size, zstd compresses each
64 KiB unit with the parameters it tunes for large inputs, and declares
the level’s whole window (4 MiB at level 9) in the frame header.
Sized
A single-segment frame that records its content size (the default since 0.4). zstd then picks the parameter set it tunes for inputs of this size: at level 9 the index comes out 8% smaller on the OpenCitations sample, and encoding is faster; the frame declares the tile’s own size instead of a 4 MiB window. Any conformant decoder reads both shapes, so this is not a format change (released 0.3.5 and 0.3.7 readers verified).
Trait Implementations§
Source§impl Clone for FrameShape
impl Clone for FrameShape
impl Copy for FrameShape
Source§impl Debug for FrameShape
impl Debug for FrameShape
impl Eq for FrameShape
Source§impl PartialEq for FrameShape
impl PartialEq for FrameShape
impl StructuralPartialEq for FrameShape
Auto Trait Implementations§
impl Freeze for FrameShape
impl RefUnwindSafe for FrameShape
impl Send for FrameShape
impl Sync for FrameShape
impl Unpin for FrameShape
impl UnsafeUnpin for FrameShape
impl UnwindSafe for FrameShape
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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