Skip to main content

RangeStatus

Struct RangeStatus 

Source
pub struct RangeStatus(pub u32);
Expand description

The answer to iris.require_range.

Only RangeStatus::SERVED means the bytes are in the buffer the decoder named. For every other value the buffer has not been written to and holds whatever it held before.

Tuple Fields§

§0: u32

Implementations§

Source§

impl RangeStatus

Source

pub const SERVED: Self

The bytes are in the buffer, all of them, exactly as many as were asked for.

Source

pub const OUT_OF_BOUNDS: Self

The range runs past the end of the source.

The decoder asked for the wrong thing. This is never a short read, which is the whole reason it is a status rather than a returned length: a decoder that gets fewer bytes than it asked for and does not notice produces an answer that is wrong and looks right.

Source

pub const TOO_LARGE: Self

No single request to this host can cover a range that long.

The host is reading through a window and the range does not fit in one view of it. Asking again in pieces works, which is what makes this different from the two below.

Source

pub const UNAVAILABLE: Self

The host tried and could not get the bytes.

A read that failed, a connection that dropped, a source that contradicted itself. Nothing the decoder does differently will help, and the host already knows the details.

Source

pub const NO_SOURCE: Self

This host has nothing to serve ranges from.

A decoder that pulls ranges was run by a host that handed it the whole source and did not expect to be asked, or by one that has not attached a source yet. It is a host bug rather than a decoder bug, and it is separate from RangeStatus::UNAVAILABLE because the fix is in a different place.

Source

pub const fn is_served(self) -> bool

Whether the bytes arrived.

Source

pub const fn name(self) -> Option<&'static str>

The name of this status, if it is one we assigned.

Trait Implementations§

Source§

impl Clone for RangeStatus

Source§

fn clone(&self) -> RangeStatus

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 RangeStatus

Source§

impl Debug for RangeStatus

Source§

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

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

impl Display for RangeStatus

Source§

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

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

impl Eq for RangeStatus

Source§

impl Hash for RangeStatus

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for RangeStatus

Source§

fn cmp(&self, other: &RangeStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

fn clamp_to<R>(self, range: R) -> Self
where Self: Sized, R: ClampBounds<Self>,

🔬This is a nightly-only experimental API. (clamp_to)
Restrict a value to a certain range. Read more
Source§

impl PartialEq for RangeStatus

Source§

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

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

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

Inequality operator !=. Read more
Source§

impl PartialOrd for RangeStatus

Source§

fn partial_cmp(&self, other: &RangeStatus) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl StructuralPartialEq for RangeStatus

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.