use common::{self, ExternalReachability, NameHash};
#[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)]
pub enum Message<UID> {
Heartbeat,
BootstrapRequest(UID, NameHash, ExternalReachability),
BootstrapGranted(UID),
BootstrapDenied(BootstrapDenyReason),
EchoAddrReq,
EchoAddrResp(common::SocketAddr),
ChooseConnection,
Connect(UID, NameHash),
Data(Vec<u8>),
}
#[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)]
pub enum BootstrapDenyReason {
InvalidNameHash,
FailedExternalReachability,
NodeNotWhitelisted,
ClientNotWhitelisted,
}