[−][src]Struct picky_asn1::wrapper::OctetStringAsn1Container
An OctetString encapsulating things.
Same as BitStringAsn1Container
but using an OctetString instead.
Useful to perform a full serialization / deserialization in one pass
instead of using OctetStringAsn1
manually.
Examples
use picky_asn1::wrapper::OctetStringAsn1Container; use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, PartialEq)] struct MyType { a: u32, b: u16, c: u16, } type MyTypeEncapsulated = OctetStringAsn1Container<MyType>; let encapsulated: MyTypeEncapsulated = MyType { a: 83910, b: 3839, c: 4023, }.into(); let buffer = [ 0x04, 0x0F, // octet string part 0x30, 0x0d, // sequence 0x02, 0x03, 0x01, 0x47, 0xc6, // integer a 0x02, 0x02, 0x0e, 0xff, // integer b 0x02, 0x02, 0x0f, 0xb7, // integer c ]; let encoded = picky_asn1_der::to_vec(&encapsulated).expect("couldn't serialize"); assert_eq!( encoded, buffer, ); let decoded: MyTypeEncapsulated = picky_asn1_der::from_bytes(&buffer).expect("couldn't deserialize"); assert_eq!( decoded, encapsulated, );
Trait Implementations
impl<Encapsulated> Asn1Type for OctetStringAsn1Container<Encapsulated>
[src]
impl<Encapsulated: Clone> Clone for OctetStringAsn1Container<Encapsulated>
[src]
fn clone(&self) -> OctetStringAsn1Container<Encapsulated>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<Encapsulated: Debug> Debug for OctetStringAsn1Container<Encapsulated>
[src]
impl<Encapsulated> Default for OctetStringAsn1Container<Encapsulated> where
Encapsulated: Default,
[src]
Encapsulated: Default,
impl<Encapsulated> Deref for OctetStringAsn1Container<Encapsulated>
[src]
type Target = Encapsulated
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
impl<Encapsulated> DerefMut for OctetStringAsn1Container<Encapsulated>
[src]
impl<'de, Encapsulated> Deserialize<'de> for OctetStringAsn1Container<Encapsulated> where
Encapsulated: Deserialize<'de>,
[src]
Encapsulated: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<Encapsulated> From<Encapsulated> for OctetStringAsn1Container<Encapsulated>
[src]
impl<Encapsulated: Hash> Hash for OctetStringAsn1Container<Encapsulated>
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<Encapsulated> PartialEq<Encapsulated> for OctetStringAsn1Container<Encapsulated> where
Encapsulated: PartialEq,
[src]
Encapsulated: PartialEq,
fn eq(&self, other: &Encapsulated) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<Encapsulated: PartialEq> PartialEq<OctetStringAsn1Container<Encapsulated>> for OctetStringAsn1Container<Encapsulated>
[src]
fn eq(&self, other: &OctetStringAsn1Container<Encapsulated>) -> bool
[src]
fn ne(&self, other: &OctetStringAsn1Container<Encapsulated>) -> bool
[src]
impl<Encapsulated: PartialOrd> PartialOrd<OctetStringAsn1Container<Encapsulated>> for OctetStringAsn1Container<Encapsulated>
[src]
fn partial_cmp(
&self,
other: &OctetStringAsn1Container<Encapsulated>
) -> Option<Ordering>
[src]
&self,
other: &OctetStringAsn1Container<Encapsulated>
) -> Option<Ordering>
fn lt(&self, other: &OctetStringAsn1Container<Encapsulated>) -> bool
[src]
fn le(&self, other: &OctetStringAsn1Container<Encapsulated>) -> bool
[src]
fn gt(&self, other: &OctetStringAsn1Container<Encapsulated>) -> bool
[src]
fn ge(&self, other: &OctetStringAsn1Container<Encapsulated>) -> bool
[src]
impl<Encapsulated> Serialize for OctetStringAsn1Container<Encapsulated> where
Encapsulated: Serialize,
[src]
Encapsulated: Serialize,
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<Encapsulated> StructuralPartialEq for OctetStringAsn1Container<Encapsulated>
[src]
Auto Trait Implementations
impl<Encapsulated> RefUnwindSafe for OctetStringAsn1Container<Encapsulated> where
Encapsulated: RefUnwindSafe,
Encapsulated: RefUnwindSafe,
impl<Encapsulated> Send for OctetStringAsn1Container<Encapsulated> where
Encapsulated: Send,
Encapsulated: Send,
impl<Encapsulated> Sync for OctetStringAsn1Container<Encapsulated> where
Encapsulated: Sync,
Encapsulated: Sync,
impl<Encapsulated> Unpin for OctetStringAsn1Container<Encapsulated> where
Encapsulated: Unpin,
Encapsulated: Unpin,
impl<Encapsulated> UnwindSafe for OctetStringAsn1Container<Encapsulated> where
Encapsulated: UnwindSafe,
Encapsulated: UnwindSafe,
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,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<!> for 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.
fn to_owned(&self) -> T
[src]
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.
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>,