pub struct ZiftsieveExtract {
pub literals: Vec<u8>,
pub decoded_len: usize,
}Expand description
Result of a reference LZ4 literal extraction.
literals holds the decoded bytes, CAPPED at the caller’s max_output: the
same fixed-output-buffer bound the GPU ziftsieve_literal_copy kernel enforces
(it drops stores whose literal_offset + i >= max_output). decoded_len is the
TRUE uncapped output length, the sum of every sequence’s literal length, so a
caller can detect a capped decode via ZiftsieveExtract::truncated. A bare
Vec<u8> could not distinguish a complete decode from one silently truncated at
the cap (a silent recall-loss gap, Law 10); the GPU path already exposes this
host-side because the consumer builds the prefix-summed offsets and thus knows
offsets[last] + lens[last] vs max_output. This mirrors super::inflate::CpuInflateResult.
Fields§
§literals: Vec<u8>Decoded literal bytes, capped at the caller’s max_output.
decoded_len: usizeTrue total decoded length across all sequences, BEFORE the max_output cap.
Implementations§
Trait Implementations§
Source§impl Clone for ZiftsieveExtract
impl Clone for ZiftsieveExtract
Source§fn clone(&self) -> ZiftsieveExtract
fn clone(&self) -> ZiftsieveExtract
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ZiftsieveExtract
impl Debug for ZiftsieveExtract
impl Eq for ZiftsieveExtract
Source§impl PartialEq for ZiftsieveExtract
impl PartialEq for ZiftsieveExtract
impl StructuralPartialEq for ZiftsieveExtract
Auto Trait Implementations§
impl Freeze for ZiftsieveExtract
impl RefUnwindSafe for ZiftsieveExtract
impl Send for ZiftsieveExtract
impl Sync for ZiftsieveExtract
impl Unpin for ZiftsieveExtract
impl UnsafeUnpin for ZiftsieveExtract
impl UnwindSafe for ZiftsieveExtract
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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