AttributeEncoder

Enum AttributeEncoder 

Source
pub enum AttributeEncoder {
Show 22 variants MappedAddress(<MappedAddress as Attribute>::Encoder), Username(<Username as Attribute>::Encoder), MessageIntegrity(<MessageIntegrity as Attribute>::Encoder), ErrorCode(<ErrorCode as Attribute>::Encoder), UnknownAttributes(<UnknownAttributes as Attribute>::Encoder), Realm(<Realm as Attribute>::Encoder), Nonce(<Nonce as Attribute>::Encoder), XorMappedAddress(<XorMappedAddress as Attribute>::Encoder), Software(<Software as Attribute>::Encoder), AlternateServer(<AlternateServer as Attribute>::Encoder), Fingerprint(<Fingerprint as Attribute>::Encoder), ChannelNumber(<ChannelNumber as Attribute>::Encoder), Lifetime(<Lifetime as Attribute>::Encoder), XorPeerAddress(<XorPeerAddress as Attribute>::Encoder), Data(<Data as Attribute>::Encoder), XorRelayAddress(<XorRelayAddress as Attribute>::Encoder), EvenPort(<EvenPort as Attribute>::Encoder), RequestedTransport(<RequestedTransport as Attribute>::Encoder), DontFragment(<DontFragment as Attribute>::Encoder), ReservationToken(<ReservationToken as Attribute>::Encoder), RequestedAddressFamily(<RequestedAddressFamily as Attribute>::Encoder), None,
}
Expand description

Attribute set encoder.

Variants§

§

MappedAddress(<MappedAddress as Attribute>::Encoder)

§

Username(<Username as Attribute>::Encoder)

§

MessageIntegrity(<MessageIntegrity as Attribute>::Encoder)

§

ErrorCode(<ErrorCode as Attribute>::Encoder)

§

UnknownAttributes(<UnknownAttributes as Attribute>::Encoder)

§

Realm(<Realm as Attribute>::Encoder)

§

Nonce(<Nonce as Attribute>::Encoder)

§

XorMappedAddress(<XorMappedAddress as Attribute>::Encoder)

§

Software(<Software as Attribute>::Encoder)

§

AlternateServer(<AlternateServer as Attribute>::Encoder)

§

Fingerprint(<Fingerprint as Attribute>::Encoder)

§

ChannelNumber(<ChannelNumber as Attribute>::Encoder)

§

Lifetime(<Lifetime as Attribute>::Encoder)

§

XorPeerAddress(<XorPeerAddress as Attribute>::Encoder)

§

Data(<Data as Attribute>::Encoder)

§

XorRelayAddress(<XorRelayAddress as Attribute>::Encoder)

§

EvenPort(<EvenPort as Attribute>::Encoder)

§

RequestedTransport(<RequestedTransport as Attribute>::Encoder)

§

DontFragment(<DontFragment as Attribute>::Encoder)

§

ReservationToken(<ReservationToken as Attribute>::Encoder)

§

RequestedAddressFamily(<RequestedAddressFamily as Attribute>::Encoder)

§

None

Implementations§

Source§

impl AttributeEncoder

Source

pub fn new() -> Self

Makes a new encoder instance.

Trait Implementations§

Source§

impl Debug for AttributeEncoder

Source§

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

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

impl Default for AttributeEncoder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Encode for AttributeEncoder

Source§

type Item = Attribute

The type of items to be encoded.
Source§

fn encode(&mut self, buf: &mut [u8], eos: Eos) -> Result<usize>

Encodes the items in the encoder and writes the encoded bytes to the given buffer. Read more
Source§

fn start_encoding(&mut self, item: Self::Item) -> Result<()>

Tries to start encoding the given item. Read more
Source§

fn requiring_bytes(&self) -> ByteCount

Returns the number of bytes required to encode all the items in the encoder. Read more
Source§

fn is_idle(&self) -> bool

Returns true if there are no items to be encoded in the encoder, otherwise false. Read more
Source§

impl SizedEncode for AttributeEncoder

Source§

fn exact_requiring_bytes(&self) -> u64

Returns the exact number of bytes required to encode all the items remaining in the encoder.

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> EncodeExt for T
where T: Encode,

Source§

fn with_item(item: Self::Item) -> Result<Self, Error>
where Self: Default,

Creates a new encoder instance that has the given initial item. Read more
Source§

fn map_err<E, F>(self, f: F) -> MapErr<Self, E, F>
where F: Fn(Error) -> E, Error: From<E>,

Creates an encoder for modifying encoding errors produced by self. Read more
Source§

fn map_from<T, F>(self, f: F) -> MapFrom<Self, T, F>
where F: Fn(T) -> Self::Item,

Creates an encoder that converts items into ones that suited to the self encoder by calling the given function. Read more
Source§

fn try_map_from<T, E, F>(self, f: F) -> TryMapFrom<Self, T, E, F>
where F: Fn(T) -> Result<Self::Item, E>, Error: From<E>,

Creates an encoder that tries to convert items into ones that suited to the self encoder by calling the given function. Read more
Source§

fn optional(self) -> Optional<Self>

Creates an encoder that represents an optional encoder. Read more
Source§

fn max_bytes(self, n: u64) -> MaxBytes<Self>

Creates an encoder that will fail if the number of encoded bytes of an item exceeds n. Read more
Source§

fn length(self, n: u64) -> Length<Self>

Creates an encoder that required to encode each item exactly at the specified number of bytes. Read more
Source§

fn chain<T>(self, other: T) -> TupleEncoder<(Self, T)>
where T: Encode,

Takes two encoders and creates a new encoder that encodes both items in sequence. Read more
Source§

fn repeat<I>(self) -> Repeat<Self, I>
where I: Iterator<Item = Self::Item>,

Creates an encoder that repeats encoding of Self::Item. Read more
Source§

fn pre_encode(self) -> PreEncode<Self>

Creates an encoder that pre-encodes items when start_encoding method is called. Read more
Source§

fn slice(self) -> Slice<Self>

Creates an encoder that makes it possible to slice the encoded byte sequence in arbitrary units. Read more
Source§

fn last(self, item: Self::Item) -> Last<Self>

Creates an encoder that cannot accept any more items except the given one.
Source§

fn encode_into_bytes(&mut self, item: Self::Item) -> Result<Vec<u8>, Error>

Encodes the given item and returns the resulting bytes. 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> IoEncodeExt for T
where T: Encode,

Source§

fn encode_to_write_buf<B>(&mut self, buf: &mut WriteBuf<B>) -> Result<(), Error>
where B: AsMut<[u8]>,

Encodes the items remaining in the encoder and writes the encoded bytes to the given write buffer.
Source§

fn encode_all<W>(&mut self, writer: W) -> Result<(), Error>
where W: Write,

Encodes all of the items remaining in the encoder and writes the encoded bytes to the given writer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V