eva_common/payload.rs
1use crate::EResult;
2use serde::{Deserialize, Serialize};
3
4#[inline]
5pub fn pack<T>(val: &T) -> EResult<Vec<u8>>
6where
7 T: Serialize + ?Sized,
8{
9 rmp_serde::to_vec_named(val).map_err(Into::into)
10}
11
12#[inline]
13pub fn unpack<'a, T>(input: &'a [u8]) -> EResult<T>
14where
15 T: Deserialize<'a>,
16{
17 rmp_serde::from_slice(input).map_err(Into::into)
18}