der

Trait Encode

Source
pub trait Encode {
    // Required methods
    fn encoded_len(&self) -> Result<Length>;
    fn encode(&self, encoder: &mut dyn Writer) -> Result<()>;

    // Provided methods
    fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]> { ... }
    fn encode_to_vec(&self, buf: &mut Vec<u8>) -> Result<Length> { ... }
    fn to_vec(&self) -> Result<Vec<u8>> { ... }
}
Expand description

Encoding trait.

Required Methods§

Source

fn encoded_len(&self) -> Result<Length>

Compute the length of this value in bytes when encoded as ASN.1 DER.

Source

fn encode(&self, encoder: &mut dyn Writer) -> Result<()>

Encode this value as ASN.1 DER using the provided Writer.

Provided Methods§

Source

fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>

Encode this value to the provided byte slice, returning a sub-slice containing the encoded message.

Source

fn encode_to_vec(&self, buf: &mut Vec<u8>) -> Result<Length>

Encode this message as ASN.1 DER, appending it to the provided byte vector.

Source

fn to_vec(&self) -> Result<Vec<u8>>

Serialize this message as a byte vector.

Implementations on Foreign Types§

Source§

impl<T> Encode for &Option<T>
where T: Encode,

Source§

fn encoded_len(&self) -> Result<Length>

Source§

fn encode(&self, encoder: &mut dyn Writer) -> Result<()>

Source§

impl<T> Encode for Option<T>
where T: Encode,

Source§

fn encoded_len(&self) -> Result<Length>

Source§

fn encode(&self, writer: &mut dyn Writer) -> Result<()>

Implementors§

Source§

impl Encode for Tag

Source§

impl Encode for Document

Source§

impl Encode for Header

Source§

impl Encode for Length

Source§

impl<'a, T> Encode for EncodeRef<'a, T>
where T: Encode,

Source§

impl<T> Encode for T
where T: EncodeValue + Tagged,