MCPcopy Create free account
hub / github.com/RustCrypto/formats / encode_to_vec

Method encode_to_vec

der/src/encode.rs:41–59  ·  view source on GitHub ↗
(&self, buf: &mut Vec<u8>)

Source from the content-addressed store, hash-verified

39 #[cfg(feature = "alloc")]
40 #[cfg_attr(docsrs, doc(cfg(feature = "alloc")))]
41 fn encode_to_vec(&self, buf: &mut Vec<u8>) -> Result<Length> {
42 let expected_len = usize::try_from(self.encoded_len()?)?;
43 buf.reserve(expected_len);
44 buf.extend(iter::repeat(0).take(expected_len));
45
46 let mut writer = SliceWriter::new(buf);
47 self.encode(&mut writer)?;
48 let actual_len = writer.finish()?.len();
49
50 if expected_len != actual_len {
51 return Err(ErrorKind::Incomplete {
52 expected_len: expected_len.try_into()?,
53 actual_len: actual_len.try_into()?,
54 }
55 .into());
56 }
57
58 actual_len.try_into()
59 }
60
61 /// Serialize this message as a byte vector.
62 #[cfg(feature = "alloc")]

Callers 1

to_vecMethod · 0.80

Implementers 12

version.rspkcs8/src/version.rs
version.rspkcs1/src/version.rs
document.rsder/src/document.rs
tag.rsder/src/tag.rs
header.rsder/src/header.rs
encode_ref.rsder/src/encode_ref.rs
length.rsder/src/length.rs
encode.rsder/src/encode.rs
optional.rsder/src/asn1/optional.rs
pbes2.rspkcs5/src/pbes2.rs
pbes1.rspkcs5/src/pbes1.rs
kdf.rspkcs5/src/pbes2/kdf.rs

Calls 7

reserveMethod · 0.80
extendMethod · 0.80
encoded_lenMethod · 0.45
takeMethod · 0.45
encodeMethod · 0.45
lenMethod · 0.45
finishMethod · 0.45

Tested by

no test coverage detected