AnswerToSelect

Struct AnswerToSelect 

Source
pub struct AnswerToSelect { /* private fields */ }

Implementations§

Source§

impl AnswerToSelect

Source

pub fn new(salt: [u8; 8]) -> Self

The salt is stable and used in modified form as “device ID” in ykman. It gets rotated on device reset.

Source

pub fn with_challenge(self, challenge: [u8; 8]) -> ChallengingAnswerToSelect

This challenge is only added when a password is set on the device.

It is rotated each time SELECT is called.

Trait Implementations§

Source§

impl Clone for AnswerToSelect

Source§

fn clone(&self) -> AnswerToSelect

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 Container for AnswerToSelect

Source§

fn fields<F, T>(&self, field_encoder: F) -> Result<T>
where F: FnOnce(&[&dyn Encodable]) -> Result<T>,

Call the provided function with a slice of Encodable trait objects representing the fields of this message. Read more
Source§

impl Encodable for AnswerToSelect

Source§

fn encoded_length(&self) -> Result<Length>

Compute the length of this value in bytes when encoded as BER-TLV
Source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.
Source§

fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8], Error>

Encode this value to the provided byte slice, returning a sub-slice containing the encoded message.
Source§

impl PartialEq for AnswerToSelect

Source§

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

Source§

impl Eq for AnswerToSelect

Source§

impl StructuralPartialEq for AnswerToSelect

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<X> EncodableHeapless for X
where X: Encodable,

Source§

fn encode_to_heapless_vec<const N: usize>( &self, buf: &mut Vec<u8, N>, ) -> Result<Length, Error>

Encode this message as BER-TLV, appending it to the provided heapless byte vector.
Source§

fn to_heapless_vec<const N: usize>(&self) -> Result<Vec<u8, N>, Error>

Serialize this message as a byte vector.
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> 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.