#![feature(ip)]
#[macro_use]
pub mod util {
#[macro_use]
mod macros;
pub mod channel;
pub use channel::*;
pub mod misc;
pub use misc::*;
pub mod sleep;
pub use sleep::Sleeper;
pub mod task;
pub use task::*;
}
pub mod config;
pub mod control {
pub mod argument;
pub use argument::*;
pub mod command;
pub use command::{
Command,
Response
};
pub mod request;
pub use request::{
AnyRequest,
DaemonReq,
NodeReq,
MirrorReq,
DispatcherReq,
RouterReq,
NodeJoinRequest,
CnsprcyStatus,
Conspirator
};
pub mod socket;
pub use socket::{
ClientSocket,
ControlSocket
};
}
pub mod daemon;
pub mod event {
pub mod events;
pub use events::*;
pub mod dispatch;
pub use dispatch::{
Dispatcher,
DispatcherSetup,
Interest
};
pub mod handle;
pub use handle::launch;
pub mod load;
pub use load::{
DirectoryType,
get_all_entries,
parse_all
};
}
pub mod host {
pub mod device;
pub mod netlink;
}
pub mod message;
pub mod net {
pub mod address;
pub use address::InterfaceAddress;
pub use address::InterfaceRoute;
pub mod chacha20;
pub use chacha20::Server as ChaCha20Server;
pub mod mirror;
pub use mirror::Mirror;
pub mod interface;
pub mod router;
pub use router::Router;
pub use router::RouterSetup;
}
pub mod node;
pub mod store;
#[cfg(test)]
mod tests;
pub mod peer {
pub mod address;
pub use address::Address;
pub mod data;
pub use data::Peer;
pub use data::LinkUpdateResult;
pub mod id;
pub use id::NodeID;
pub mod induct;
pub use induct::Invitation;
pub mod link;
pub mod status;
pub use status::Status;
pub use status::PeerState;
pub use status::AtomicClock;
pub use status::Clock;
}