INNER CODE UNIT · Rust
cbor_serialize_bytes
trussed-dev/trussed · src/lib.rs:53
fn cbor_serialize_bytes<T: serde::Serialize, const N: usize>(
object: &T,
) -> cbor_smol::Result<heapless_bytes::Bytes<N>> {
let mut data = heapless_bytes::Bytes::new();
cbor_smol::cbor_serialize_to(object, &mut data)?;
Ok(data)
}
pub(crate) use postcard::from_bytes as postcard_deserialize;
pub(crate) fn postcard_serialize_bytes<T: serde::Serialize, const N: usize>(
object: &T,
) -> postcard::Result<heapless_bytes::Bytes<N>> {
let mut vec = heapless_bytes::Bytes::new();
vec.resize_to_capacity();
let serialized = postcard::to_slice(object, &mut vec)?.len();
vec.resize(serialized, 0).unwrap();
Ok(vec)