diff options
Diffstat (limited to 'core/src/utils/encode.rs')
-rw-r--r-- | core/src/utils/encode.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/core/src/utils/encode.rs b/core/src/utils/encode.rs new file mode 100644 index 0000000..7d1061b --- /dev/null +++ b/core/src/utils/encode.rs @@ -0,0 +1,15 @@ +use bincode::Encode; + +use crate::Result; + +/// Encode the given type `T` into a `Vec<u8>`. +pub fn encode<T: Encode>(msg: &T) -> Result<Vec<u8>> { + let vec = bincode::encode_to_vec(msg, bincode::config::standard())?; + Ok(vec) +} + +/// Encode the given type `T` into the given slice.. +pub fn encode_into_slice<T: Encode>(msg: &T, dst: &mut [u8]) -> Result<()> { + bincode::encode_into_slice(msg, dst, bincode::config::standard())?; + Ok(()) +} |