summaryrefslogtreecommitdiffstats
path: root/src/swarm/peer/mod.rs
blob: 415cddfea4c3adae805eb48dc19188ef1ca6d539 (plain)
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
//! Peers: handshake (HELLO / HELLO_REPLY), liveness and keepalives, self-healing,
//! swarm-wide forget records, and dispatch of inbound messages.
//!
//! * `handshake`: discovering peers, HELLO / HELLO_REPLY, membership.
//! * `keepalive`: STATUS / STATUS_REPLY and the self-healing re-handshake.
//! * `epoch`: the epochs peers advertise.
//! * `admit`: admission with a swarm key.
//! * `forget`: swarm-wide forget records.
//! * `worker`: the periodic peer worker.
//! * `inbound`: dispatch of inbound messages.
//! * `lanes`: sync messages applied off the consumer.

mod admit;
mod epoch;
mod forget;
mod handshake;
mod inbound;
mod keepalive;
mod lanes;
mod worker;

pub(crate) use forget::{forget_unless_alive, forgotten_path};
pub(crate) use handshake::{
    apply_neighbour_change, peer_swarm, rehandshake, remember_peer, send_hello_once,
};
pub(crate) use inbound::handle_message;
pub(crate) use keepalive::{farewell, send_status};
pub(crate) use lanes::SyncLanes;
pub(crate) use worker::run_peer_worker;