Trait der::Encode

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

    // Provided method
    fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [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.

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 Header

source§

impl Encode for Length

source§

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

source§

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