Struct GeneralizedTime

Source
pub struct GeneralizedTime;
Expand description

TODO: this file is a bit of mess, clean it up

Three formats, each with 4 variants (https://obj-sys.com/asn1tutorial/node14.html):

  1. Local time only. YYYYMMDDHH[MM[SS[.fff]]], where the optional fff is accurate to three decimal places. Possible lengths: 10, 12, 14, 18.

  2. Universal time (UTC time) only. YYYYMMDDHH[MM[SS[.fff]]]Z. Possible lengths: 11, 13, 15, 19.

  3. Difference between local and UTC times. YYYYMMDDHH[MM[SS[.fff]]]+-HHMM. Possible lengths: 15, 17, 19, 23.

Trait Implementations§

Source§

impl ASN1Tagged for GeneralizedTime

Source§

fn tag(&self) -> TagValue

Source§

impl Combinator for GeneralizedTime

Source§

type Result<'a> = GeneralizedTimeValueInner

The result type of parsing and the input type of serialization.
Source§

type Owned = GeneralizedTimeValueInner

The owned parsed type. This is currently a hack to avoid lifetime bindings in SpecCombinator::SpecResult , but it can be useful if we want to have functions that return owned values (e.g. Vec<T>).
Source§

fn length(&self) -> Option<usize>

The length of the output buffer, if known. This can be used to optimize serialization by pre-allocating the buffer.
Source§

fn parse<'a>( &self, v: &'a [u8], ) -> Result<(usize, Self::Result<'a>), ParseError>

The parsing function.
Source§

fn serialize( &self, v: Self::Result<'_>, data: &mut Vec<u8>, pos: usize, ) -> Result<usize, SerializeError>

The serialization function.
Source§

impl Debug for GeneralizedTime

Source§

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

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

impl SpecCombinator for GeneralizedTime

Source§

impl View for GeneralizedTime

Source§

impl SecureSpecCombinator for GeneralizedTime

Source§

impl ViewWithASN1Tagged for GeneralizedTime

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> From<T> for T
where T: View, <T as View>::V: SpecFrom<<T as View>::V>,

Source§

fn ex_from(t: T) -> T

Vest equivalent of std::convert::From::from.
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, U> Into<U> for T
where T: View, U: View + From<T>, <U as View>::V: SpecFrom<<T as View>::V>,

Source§

fn ex_into(self) -> U

Vest equivalent of std::convert::Into::into.
Source§

impl<T, U> SpecTryInto<U> for T
where U: SpecTryFrom<T>,

Source§

type Error = <U as SpecTryFrom<T>>::Error

The type returned in the event of a conversion error.
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<T, U> TryInto<U> for T
where T: View, U: View + TryFrom<T>, <U as View>::V: SpecTryFrom<<T as View>::V>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn ex_try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Source§

impl<T> SpecFrom<T> for T

Source§

impl<T, U> SpecInto<U> for T
where U: SpecFrom<T>,