2020-12-02 19:12:24 +00:00
|
|
|
//! 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.
|
|
|
|
|
2020-12-02 12:30:47 +00:00
|
|
|
#![feature(map_first_last)]
|
|
|
|
|
|
|
|
pub mod error;
|
2020-12-02 19:12:24 +00:00
|
|
|
pub mod util;
|
|
|
|
|
|
|
|
pub mod proto;
|
2020-12-02 12:30:47 +00:00
|
|
|
pub mod message;
|
2020-12-02 19:12:24 +00:00
|
|
|
|
|
|
|
mod conn;
|
|
|
|
|
2020-12-02 12:30:47 +00:00
|
|
|
pub mod netapp;
|
|
|
|
pub mod peering;
|
2020-12-02 19:12:24 +00:00
|
|
|
|
|
|
|
pub use netapp::*;
|