Enum RangeFrame

Source
pub enum RangeFrame {
Show 16 variants BlobString { data: (usize, usize), attributes: Option<RangeAttributes>, }, BlobError { data: (usize, usize), attributes: Option<RangeAttributes>, }, SimpleString { data: (usize, usize), attributes: Option<RangeAttributes>, }, SimpleError { data: (usize, usize), attributes: Option<RangeAttributes>, }, Boolean { data: bool, attributes: Option<RangeAttributes>, }, Null, Number { data: i64, attributes: Option<RangeAttributes>, }, Double { data: f64, attributes: Option<RangeAttributes>, }, BigNumber { data: (usize, usize), attributes: Option<RangeAttributes>, }, VerbatimString { data: (usize, usize), format: VerbatimStringFormat, attributes: Option<RangeAttributes>, }, Array { data: Vec<RangeFrame>, attributes: Option<RangeAttributes>, }, Map { data: FrameMap<RangeFrame, RangeFrame>, attributes: Option<RangeAttributes>, }, Set { data: FrameSet<RangeFrame>, attributes: Option<RangeAttributes>, }, Push { data: Vec<RangeFrame>, attributes: Option<RangeAttributes>, }, Hello { version: RespVersion, username: Option<(usize, usize)>, password: Option<(usize, usize)>, setname: Option<(usize, usize)>, }, ChunkedString((usize, usize)),
}
Available on crate feature resp3 only.
Expand description

A reference-free frame type representing ranges into an associated buffer, typically used to implement zero-copy parsing.

Variants§

§

BlobString

A blob of bytes.

Fields

§data: (usize, usize)
§

BlobError

A blob representing an error.

Fields

§data: (usize, usize)
§

SimpleString

A small string.

Fields

§data: (usize, usize)
§

SimpleError

A small string representing an error.

Fields

§data: (usize, usize)
§

Boolean

A boolean type.

Fields

§data: bool
§

Null

A null type.

§

Number

A signed 64-bit integer.

Fields

§data: i64
§

Double

A signed 64-bit floating point number.

Fields

§data: f64
§

BigNumber

A large number not representable as a Number or Double.

Fields

§data: (usize, usize)
§

VerbatimString

A string to be displayed without any escaping or filtering.

Fields

§data: (usize, usize)
§

Array

An array of frames.

Fields

§

Map

An unordered map of key-value pairs.

§

Set

An unordered collection of other frames with a uniqueness constraint.

§

Push

Out-of-band data.

Fields

§

Hello

A special frame type used when first connecting to the server to describe the protocol version and optional credentials.

Fields

§version: RespVersion
§username: Option<(usize, usize)>
§password: Option<(usize, usize)>
§setname: Option<(usize, usize)>
§

ChunkedString((usize, usize))

One chunk of a streaming blob.

Implementations§

Source§

impl RangeFrame

Source

pub fn kind(&self) -> FrameKind

Read the associated FrameKind.

Source

pub fn len(&self) -> usize

A context-aware length function that returns the length of the inner frame contents.

This does not return the encoded length, but rather the length of the contents of the frame such as the number of elements in an array, the size of any inner buffers, etc.

Note: Null has a length of 0 and Hello, Number, Double, and Boolean have a length of 1.

Source

pub fn add_attributes( &mut self, attributes: RangeAttributes, ) -> Result<(), RedisProtocolError>

Add attributes to the frame.

Source

pub fn new_end_stream() -> Self

Trait Implementations§

Source§

impl Clone for RangeFrame

Source§

fn clone(&self) -> RangeFrame

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RangeFrame

Source§

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

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

impl Hash for RangeFrame

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 PartialEq for RangeFrame

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 RangeFrame

Source§

impl StructuralPartialEq for RangeFrame

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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