Skip to main content

TokenAliasType

Enum TokenAliasType 

Source
pub enum TokenAliasType {
    Delete,
    Register,
    UseAlias,
    UseValue,
}
Expand description

What a Token’s Alias Type says about the fields that follow it.

Drafts 11 through 19 all define the same four code points and describe them as deciding the serialization, not merely the behaviour: “Alias Type - an integer defining both the serialization and the processing behavior of the receiver.” A reader that does not recognise the value therefore cannot know which of the three optional fields are present, which is why an unassigned Alias Type is a formatting error rather than something to skip past.

Variants§

§

Delete

DELETE (0x0). Carries an Alias and retires it: “This Alias and the Token Value it was previously associated with MUST be retired.”

§

Register

REGISTER (0x1). Carries an Alias, a Token Type and a Token Value, and binds the Alias to that value for the rest of the session.

§

UseAlias

USE_ALIAS (0x2). Carries an Alias alone, standing for the Token Type and Token Value registered under it earlier.

§

UseValue

USE_VALUE (0x3). Carries a Token Type and Token Value and no Alias: “Use the Token Value as provided. The Token Value may be discarded after processing.”

Implementations§

Source§

impl TokenAliasType

Source

pub const fn from_id(id: u64) -> Option<Self>

The Alias Type this code point names, or None if no draft in the range assigns it.

Source

pub const fn id(self) -> u64

The code point for this Alias Type.

Source

pub const fn has_alias(self) -> bool

Whether a Token Alias field follows the Alias Type.

Three of the four carry one. USE_VALUE is the exception — “There is no Alias and there is a Type and Value” — and it is the only form a sender can use before it has registered anything.

Source

pub const fn has_type_and_value(self) -> bool

Whether a Token Type and a Token Value follow.

The two travel together in every form: REGISTER and USE_VALUE carry both, DELETE and USE_ALIAS carry neither, and no form carries one without the other.

Trait Implementations§

Source§

impl Clone for TokenAliasType

Source§

fn clone(&self) -> TokenAliasType

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 TokenAliasType

Source§

impl Debug for TokenAliasType

Source§

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

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

impl Eq for TokenAliasType

Source§

impl PartialEq for TokenAliasType

Source§

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

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 = !

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.