pub trait Encode {
// Required methods
fn encoded_len(&self) -> Result<Length, Error>;
fn encode(&self, encoder: &mut impl Writer) -> Result<(), Error>;
// Provided methods
fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8], Error> { ... }
fn encode_to_vec(&self, buf: &mut Vec<u8>) -> Result<Length, Error> { ... }
fn to_der(&self) -> Result<Vec<u8>, Error> { ... }
}
Available on crate feature
pkcs8
only.Expand description
Encoding trait.
Required Methods§
Sourcefn encoded_len(&self) -> Result<Length, Error>
fn encoded_len(&self) -> Result<Length, Error>
Compute the length of this value in bytes when encoded as ASN.1 DER.
Provided Methods§
Sourcefn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8], Error>
fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8], Error>
Encode this value to the provided byte slice, returning a sub-slice containing the encoded message.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<T> Encode for PhantomData<T>where
T: ?Sized,
Dummy implementation for PhantomData
which allows deriving
implementations on structs with phantom fields.
impl<T> Encode for PhantomData<T>where
T: ?Sized,
Dummy implementation for PhantomData
which allows deriving
implementations on structs with phantom fields.