Skip to main content

FrameIndex

Struct FrameIndex 

Source
pub struct FrameIndex {
    pub total_padded_size: u64,
    pub entries: Vec<FrameIndexEntry>,
    pub source_etag: Option<String>,
    pub source_compressed_size: Option<u64>,
}

Fields§

§total_padded_size: u64

S3 上の object 全体サイズ (padding frame 含む)

§entries: Vec<FrameIndexEntry>§source_etag: Option<String>

v0.8.4 #73 H-2: backend-reported ETag of the source object the sidecar describes. Populated by s4-server::put_object from the backend’s PUT response so the matching GET can head_object and confirm it’s still talking about the same body. None for legacy (v1) sidecars decoded out of an existing backend, in which case the GET path treats the partial-fetch as best-effort and falls back to a full read on any inconsistency signal.

§source_compressed_size: Option<u64>

v0.8.4 #73 H-2: backend object’s compressed bytes length the sidecar was computed against. Cross-check signal alongside source_etag — some backends (lifecycle moves, multi-object operations) can change the bytes without a fresh ETag, so a size mismatch is independently load-bearing. None on legacy v1 sidecars.

Implementations§

Source§

impl FrameIndex

Source

pub fn total_original_size(&self) -> u64

Source

pub fn lookup_range(&self, start: u64, end_exclusive: u64) -> Option<RangePlan>

Range request [start, end_exclusive) を解決して必要 frame の (start_idx, end_idx_exclusive) と S3 上の partial-fetch byte range [byte_start, byte_end_exclusive) を返す。

1 frame でもオーバーラップしていればその frame の 全 byte を fetch する (= 部分 frame は decompress 単位)。

Trait Implementations§

Source§

impl Clone for FrameIndex

Source§

fn clone(&self) -> FrameIndex

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 FrameIndex

Source§

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

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

impl Default for FrameIndex

Source§

fn default() -> FrameIndex

Returns the “default value” for a type. Read more
Source§

impl PartialEq for FrameIndex

Source§

fn eq(&self, other: &FrameIndex) -> 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 FrameIndex

Source§

impl StructuralPartialEq for FrameIndex

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, 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> 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.