rusnel 0.4.0

Rusnel is a fast TCP/UDP tunnel, transported over and encrypted using QUIC protocol. Single executable including both client and server
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use anyhow::{Error, Result};
use serde::de::DeserializeOwned;
use serde::Serialize;

pub trait SerdeHelper: Serialize + DeserializeOwned {
    fn from_bytes(buffer: Vec<u8>) -> Result<Self>
    where
        Self: Sized,
    {
        rmp_serde::from_slice(&buffer).map_err(Error::new)
    }

    fn to_bytes(&self) -> Result<Vec<u8>> {
        rmp_serde::to_vec(self).map_err(Error::new)
    }
}