Skip to main content

RangeRequest

Struct RangeRequest 

Source
pub struct RangeRequest {
    pub offset: u64,
    pub len: u64,
}
Expand description

The decoder asking for bytes of the source.

This is the record the whole design turns on. The decoder says which bytes it needs and the host decides how to get them, which is what keeps file handles, caching, prefetching, object store credentials and retry policy on the host side of the boundary where they can be fixed without recompiling anybody’s decoder.

Fields§

§offset: u64

Where the wanted bytes start in the source.

§len: u64

How many bytes are wanted.

Implementations§

Source§

impl RangeRequest

Source

pub const VERSION: u16 = 1

The layout version of this record.

Source

pub fn encode(&self, w: &mut Writer<'_>) -> Result<()>

Writes the record.

§Errors

Returns Error::BufferFull if the buffer runs out.

Source

pub fn decode(version: u16, p: &mut Reader<'_>) -> Result<Self>

Reads the record from its payload.

§Errors

Returns Error::UnsupportedVersion if the layout version is not one this build knows, or Error::Truncated if the payload ends early.

Trait Implementations§

Source§

impl Clone for RangeRequest

Source§

fn clone(&self) -> RangeRequest

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 Copy for RangeRequest

Source§

impl Debug for RangeRequest

Source§

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

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

impl Eq for RangeRequest

Source§

impl PartialEq for RangeRequest

Source§

fn eq(&self, other: &RangeRequest) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for RangeRequest

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.