encrypt_stuff/serialization/
bitcode.rs

1use super::{decode::Decoder, encode::Encoder};
2
3#[derive(Default)]
4pub struct Bitcode;
5
6impl Encoder for Bitcode {
7    fn encode<T: serde::Serialize + ?Sized>(
8        t: &T,
9    ) -> Result<Vec<u8>, Box<(dyn std::error::Error)>> {
10        let res = bitcode::serialize(t)?;
11        Ok(res)
12    }
13}
14
15impl Decoder for Bitcode {
16    fn decode<'de, T: serde::Deserialize<'de>>(
17        input: &'de [u8],
18    ) -> Result<T, Box<(dyn std::error::Error + 'static)>> {
19        let res = bitcode::deserialize(input)?;
20        Ok(res)
21    }
22}