pub use self::core::{spawn_event_loop, Core, CoreMessage, CoreTimer, EventLoop};
pub use self::error::CommonError;
pub use self::message::{BootstrapDenyReason, Message};
pub use self::socket::Socket;
pub use self::state::State;
use serde::de::DeserializeOwned;
use serde::ser::Serialize;
use std::fmt;
use std::hash::Hash;
use std::net::SocketAddr;
pub const HASH_SIZE: usize = 32;
pub type NameHash = [u8; HASH_SIZE];
pub type Priority = u8;
pub type Result<T> = ::std::result::Result<T, CommonError>;
pub const MAX_PAYLOAD_SIZE: usize = 2 * 1024 * 1024;
pub const MSG_DROP_PRIORITY: u8 = 2;
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub enum CrustUser {
Node,
Client,
}
#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
pub enum ExternalReachability {
NotRequired,
Required { direct_listeners: Vec<SocketAddr> },
}
pub trait Uid:
'static
+ Send
+ fmt::Debug
+ Clone
+ Copy
+ Eq
+ PartialEq
+ Ord
+ PartialOrd
+ Hash
+ Serialize
+ DeserializeOwned
{
}
mod core;
mod error;
mod message;
mod socket;
mod state;