pub trait SizedBytes: Sized {
type Len: ArrayLength<u8> + 'static;
// Required methods
fn to_arr(&self) -> GenericArray<u8, Self::Len>;
fn from_arr(
arr: &GenericArray<u8, Self::Len>,
) -> Result<Self, TryFromSizedBytesError>;
}
Expand description
A trait for sized key material that can be represented within a fixed byte
array size, used to represent our DH key types. This trait being
implemented with Error = SomeError allows you to derive
TryFrom<&[u8], Error = SomeError>
.
Required Associated Types§
Sourcetype Len: ArrayLength<u8> + 'static
type Len: ArrayLength<u8> + 'static
The typed representation of the byte length
Required Methods§
Sourcefn to_arr(&self) -> GenericArray<u8, Self::Len>
fn to_arr(&self) -> GenericArray<u8, Self::Len>
Converts this sized key material to a GenericArray
of the same
size. One can convert this to a &[u8]
with GenericArray::as_slice()
but the size information is then lost from the type.
Sourcefn from_arr(
arr: &GenericArray<u8, Self::Len>,
) -> Result<Self, TryFromSizedBytesError>
fn from_arr( arr: &GenericArray<u8, Self::Len>, ) -> Result<Self, TryFromSizedBytesError>
How to parse such sized material from a correctly-sized byte slice.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<N: ArrayLength<u8> + 'static> SizedBytes for GenericArray<u8, N>
The blanket implementation of SizedBytes for GenericArray
impl<N: ArrayLength<u8> + 'static> SizedBytes for GenericArray<u8, N>
The blanket implementation of SizedBytes for GenericArray