Trait der::Encodable

source ·
pub trait Encodable {
    // Required methods
    fn encoded_len(&self) -> Result<Length>;
    fn encode(&self, encoder: &mut Encoder<'_>) -> 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 Encoder<'_>) -> Result<()>

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

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 Encodable for ()

source§

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

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

source§

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

source§

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

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Implementors§