Event

Enum Event 

Source
pub enum Event<'a> {
Show 16 variants Unsigned(u64), Signed(u64), ByteString(Cow<'a, [u8]>), UnknownLengthByteString, TextString(Cow<'a, str>), UnknownLengthTextString, Array(u64), UnknownLengthArray, Map(u64), UnknownLengthMap, Tag(u64), Bool(bool), Null, Undefined, Float(f64), Break,
}
Expand description

An event encountered while decoding or encoding CBOR using a streaming basic implementation.

Variants§

§

Unsigned(u64)

An unsigned integer.

§

Signed(u64)

A signed integer in a slightly odd representation.

The actual value of the integer is -1 minus the provided value. Some integers that can be CBOR encoded underflow i64. Use one of the interpret_signed associated functions to resolve this.

§

ByteString(Cow<'a, [u8]>)

A byte string.

§

UnknownLengthByteString

The start of a byte string whose length is unknown.

After this event come a series of ByteString events, followed by a Break. To get the true value of the byte string, concatenate the ByteString events together.

§

TextString(Cow<'a, str>)

A text string.

§

UnknownLengthTextString

The start of a text string whose length is unknown.

After this event come a series of TextString events, followed by a Break. To get the true value of the text string, concatenate the TextString events together.

§

Array(u64)

The start of an array with a known length.

§

UnknownLengthArray

The start of an array whose length is unknown.

After this event come a series of events representing the items in the array. The array ends at the matching Break event.

§

Map(u64)

The start of a map with a known length.

Note that the actual number of sub-items is twice the length given. The first in each pair is a key, and the second is the value.

§

UnknownLengthMap

The start of a map with an unknown length.

§

Tag(u64)

Additional type information for the next CBOR item.

§

Bool(bool)

A boolean.

§

Null

The null value.

§

Undefined

The undefined value.

§

Float(f64)

A floating-point number.

§

Break

The end of an unknown-length item.

Implementations§

Source§

impl Event<'_>

Source

pub fn into_owned(self) -> Event<'static>

Convert this Event to an owned value.

Source

pub fn interpret_signed(val: u64) -> i64

Interpret a Event::Signed value.

§Overflow behavior

On overflow, this function will panic if overflow checks are enabled (default in debug mode) and wrap if overflow checks are disabled (default in release mode).

Source

pub fn interpret_signed_checked(val: u64) -> Option<i64>

Interpret a Event::Signed value.

§Overflow behavior

On overflow, this function will return None.

Source

pub fn interpret_signed_wide(val: u64) -> i128

Interpret a Event::Signed value.

§Overflow behavior

This function does not overflow, because it returns an i128.

Source

pub fn create_signed(val: i64) -> Event<'static>

Create a Event::Signed or Event::Unsigned value.

Source

pub fn create_signed_wide(val: i128) -> Option<Event<'static>>

Create a Event::Signed or Event::Unsigned value.

Because this takes an i128, it can express all the numbers CBOR can encode. However, some i128s cannot be encoded in basic CBOR integers. In this case, it will return None.

Trait Implementations§

Source§

impl<'a> Clone for Event<'a>

Source§

fn clone(&self) -> Event<'a>

Returns a duplicate 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<'a> Debug for Event<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Event<'a>

§

impl<'a> RefUnwindSafe for Event<'a>

§

impl<'a> Send for Event<'a>

§

impl<'a> Sync for Event<'a>

§

impl<'a> Unpin for Event<'a>

§

impl<'a> UnwindSafe for Event<'a>

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.