#[macro_use]
extern crate log;
#[cfg_attr(feature = "cargo-clippy", allow(useless_attribute))]
#[macro_use]
extern crate quick_error;
#[macro_use]
extern crate unwrap;
#[cfg(test)]
#[macro_use]
extern crate proptest;
extern crate maidsafe_utilities;
extern crate mio;
extern crate safe_crypto;
extern crate serde;
#[cfg(test)]
#[macro_use]
extern crate hamcrest2;
pub use crypto::{DecryptContext, EncryptContext};
pub use error::SocketError;
pub use socket::Socket;
pub use tcp_sock::TcpSock;
pub use udp::UdpSock;
mod crypto;
mod error;
mod out_queue;
mod socket;
mod tcp_sock;
mod udp;
pub type Priority = u8;
pub const DEFAULT_MAX_PAYLOAD_SIZE: usize = 2 * 1024 * 1024;
pub const DEFAULT_MSG_DROP_PRIORITY: u8 = 2;
pub const DEFAULT_MAX_MSG_AGE_SECS: u64 = 60;
#[derive(Debug, Clone)]
pub struct SocketConfig {
pub max_payload_size: usize,
pub msg_drop_priority: u8,
pub max_msg_age_secs: u64,
pub enc_ctx: EncryptContext,
pub dec_ctx: DecryptContext,
}
impl Default for SocketConfig {
fn default() -> Self {
Self {
max_payload_size: DEFAULT_MAX_PAYLOAD_SIZE,
msg_drop_priority: DEFAULT_MSG_DROP_PRIORITY,
max_msg_age_secs: DEFAULT_MAX_MSG_AGE_SECS,
enc_ctx: Default::default(),
dec_ctx: Default::default(),
}
}
}
pub type Res<T> = Result<T, SocketError>;