1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#![recursion_limit = "512"]

pub mod filters;
pub mod server;

use serde::{de::DeserializeOwned, Serialize};
use std::fmt::Debug;

pub trait ProtocolData: Serialize + DeserializeOwned + Debug + Send {}

impl<T> ProtocolData for T where T: Serialize + DeserializeOwned + Debug + Send {}

pub trait Protocol: Send + 'static {
    type Decode: ProtocolData;
    type Encode: ProtocolData;
}