Trait asn1_cereal::ber::serial::traits::BerSerialize
[−]
[src]
pub trait BerSerialize: Asn1Info { fn serialize_value<E: BerEncRules, W: Write>(&self, e: E, writer: &mut W) -> Result<(), EncodeError>; fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), EncodeError> { ... } fn serialize_enc<E: BerEncRules, W: Write>(&self, e: E, writer: &mut W) -> Result<(), EncodeError> { ... } fn _serialize_enc<E: BerEncRules, W: Write>(&self, e: E, writer: &mut W) -> Option<Result<(), EncodeError>> { ... } }
Provides the methods required to serialize this Rust type into an ASN.1 stream.
When implementing this for a simple primitive type, implementing serialize_value
should be all that's required. For more complex, structured types you may need to
implement _serialize_enc
(this is called first by serialize_enc
).
Required Methods
fn serialize_value<E: BerEncRules, W: Write>(&self, e: E, writer: &mut W) -> Result<(), EncodeError>
Serialise a value into ASN.1 data, without a tag (implicit tagging).
Provided Methods
fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), EncodeError>
Serialize a value into ASN.1 data as DER.
fn serialize_enc<E: BerEncRules, W: Write>(&self, e: E, writer: &mut W) -> Result<(), EncodeError>
Serialize a value into ASN.1 data using a specific set of encoding rules.
fn _serialize_enc<E: BerEncRules, W: Write>(&self, e: E, writer: &mut W) -> Option<Result<(), EncodeError>>
An empty method that is called first by serialize_enc
to allow custom
handling, without losing normal serialization behaviour.
Return Some(())
to indicate stop normal behaviour, or None
to continue.
Implementors
impl BerSerialize for OctetString
impl BerSerialize for i8
impl BerSerialize for i16
impl BerSerialize for i32
impl BerSerialize for i64
impl BerSerialize for u8
impl BerSerialize for u16
impl BerSerialize for u32
impl BerSerialize for u64
impl BerSerialize for isize
impl BerSerialize for usize
impl BerSerialize for String
impl BerSerialize for bool
impl<T: BerSerialize> BerSerialize for Vec<T>
impl<T: BerSerialize> BerSerialize for HashSet<T> where T: Eq + Hash