karyon_core/util/encode.rs
1use bincode::Encode;
2
3use crate::{Error, Result};
4
5/// Encode the given type `T` into a `Vec<u8>`.
6pub fn encode<T: Encode>(src: &T) -> Result<Vec<u8>> {
7 let vec = bincode::encode_to_vec(src, bincode::config::standard())?;
8 Ok(vec)
9}
10
11/// Encode the given type `T` into the given slice..
12pub fn encode_into_slice<T: Encode>(src: &T, dst: &mut [u8]) -> Result<usize> {
13 bincode::encode_into_slice(src, dst, bincode::config::standard()).map_err(Error::from)
14}