Skip to main content

ab_networking/
lib.rs

1//! Networking functionality for Abundance, primarily used for DSN (Distributed Storage
2//! Network).
3
4#![feature(duration_constructors, exact_size_is_empty, ip, trivial_bounds)]
5#![warn(missing_docs)]
6#![cfg_attr(
7    test,
8    expect(
9        clippy::rest_pattern_accessible_field,
10        reason = "Too verbose for tests"
11    )
12)]
13
14mod behavior;
15mod constructor;
16mod node;
17mod node_runner;
18pub mod protocols;
19
20mod shared;
21pub mod utils;
22
23pub use crate::behavior::persistent_parameters::{
24    KnownPeersManager, KnownPeersManagerConfig, KnownPeersManagerPersistenceError,
25    KnownPeersRegistry, PeerAddressRemovedEvent,
26};
27pub use crate::node::{
28    GetClosestPeersError, Node, SendRequestError, SubscribeError, TopicSubscription, WeakNode,
29};
30pub use crate::node_runner::NodeRunner;
31pub use constructor::{Config, CreationError, KademliaMode, construct, peer_id};
32pub use libp2p;
33pub use shared::PeerDiscovered;
34pub use utils::PeerAddress;
35pub use utils::key_with_distance::KeyWithDistance;
36pub use utils::multihash::Multihash;