aboutsummaryrefslogtreecommitdiff
path: root/src/lib.rs
blob: 6987b54ebc3c840b1e73e5b8619e7d56d3f2bdb0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//! Netapp is a Rust library that takes care of a few common tasks in distributed software:
//!
//! - establishing secure connections
//! - managing connection lifetime, reconnecting on failure
//! - checking peer's state
//! - peer discovery
//! - query/response message passing model for communications
//! - multiplexing transfers over a connection
//! - overlay networks: full mesh or random peer sampling using Basalt
//!
//! Of particular interest, read the documentation for the `netapp::NetApp` type,
//! the `message::Message` trait, and `proto::RequestPriority` to learn more
//! about message priorization.
//! Also check out the examples to learn how to use this crate.

#![feature(map_first_last)]

pub mod error;
pub mod util;

pub mod message;
pub mod proto;

mod conn;

pub mod netapp;
pub mod peering;

pub use netapp::*;
pub use util::NodeID;