Trait sequoia_openpgp::serialize::SerializeInto
source · pub trait SerializeInto: MarshalInto {
// Provided methods
fn serialized_len(&self) -> usize { ... }
fn serialize_into(&self, buf: &mut [u8]) -> Result<usize> { ... }
fn to_vec(&self) -> Result<Vec<u8>> { ... }
fn export_into(&self, buf: &mut [u8]) -> Result<usize> { ... }
fn export_to_vec(&self) -> Result<Vec<u8>> { ... }
}
Expand description
Serializes OpenPGP data structures into pre-allocated buffers.
This trait provides the same interface as MarshalInto
, but is
only implemented for data structures that can be serialized.
In general, you should prefer this trait to MarshalInto
, as it
is only implemented for data structures that are normally
exported. See the documentation for Serialize
for more details.
Provided Methods§
sourcefn serialized_len(&self) -> usize
fn serialized_len(&self) -> usize
Computes the maximal length of the serialized representation.
§Errors
If serialization would fail, this function underestimates the length.
sourcefn serialize_into(&self, buf: &mut [u8]) -> Result<usize>
fn serialize_into(&self, buf: &mut [u8]) -> Result<usize>
Serializes into the given buffer.
Returns the length of the serialized representation.
§Errors
If the length of the given slice is smaller than the maximal
length computed by serialized_len()
, this function returns
Error::InvalidArgument
.
sourcefn export_into(&self, buf: &mut [u8]) -> Result<usize>
fn export_into(&self, buf: &mut [u8]) -> Result<usize>
Exports into the given buffer.
This is similar to serialize_into(..)
, with these
exceptions:
- It is an error to export a
Signature
if it is marked as non-exportable. - When exporting a
Cert
, non-exportable signatures are not exported, and any component bound merely by non-exportable signatures is not exported.
Returns the length of the serialized representation.
§Errors
If the length of the given slice is smaller than the maximal
length computed by serialized_len()
, this function returns
Error::InvalidArgument
.