Enum bsn1::Length [−][src]
Length represents ASN.1 length.
Note that Length represents the byte count of the contents in ASN.1.
The total byte size of BER, DER, and CER is greater than that.
(BER, DER, and CER are constituted of identifier, length, and contents.)
Variants
Represents ‘Indefinite’ length.
‘Indefinite’ is only for ‘BER’, and the contents must end with ‘EOC’ octets.
Definite(usize)‘Definite’ is for ‘BER’, ‘DER’, and ‘CER’, and represents the byte count of the contents.
Implementations
impl Length[src]
pub fn to_bytes(&self) -> impl AsRef<[u8]>[src]
Serializes length .
This function won’t allocate heap memory.
Examples
use bsn1::Length; use core::convert::TryFrom; let length = Length::Definite(3); let bytes = length.to_bytes(); let deserialized = Length::try_from(bytes.as_ref()).unwrap(); assert_eq!(length, deserialized);
Trait Implementations
impl Clone for Length[src]
impl Copy for Length[src]
impl Debug for Length[src]
impl Eq for Length[src]
impl Hash for Length[src]
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl PartialEq<Length> for Length[src]
impl StructuralEq for Length[src]
impl StructuralPartialEq for Length[src]
impl TryFrom<&'_ [u8]> for Length[src]
Auto Trait Implementations
impl RefUnwindSafe for Length
impl Send for Length
impl Sync for Length
impl Unpin for Length
impl UnwindSafe for Length
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,