rustydht_lib/lib.rs
1//! A library for working with BitTorrent's "mainline" distributed hash table (DHT).
2//!
3//! ## Supported BEPs
4//! - [x] [BEP0005 (DHT Protocol)](http://bittorrent.org/beps/bep_0005.html)
5//! - [ ] [BEP0032 (IPv6 extension for DHT)](http://bittorrent.org/beps/bep_0032.html)
6//! - [ ] [BEP0033 (DHT scrape)](http://bittorrent.org/beps/bep_0033.html)
7//! - [x] [BEP0042 (DHT Security Extension)](http://bittorrent.org/beps/bep_0042.html)
8//! - [x] [BEP0043 (Read-only DHT Nodes)](http://bittorrent.org/beps/bep_0043.html)
9//! - [ ] [BEP0044 (Storing arbitrary data in the DHT)](http://bittorrent.org/beps/bep_0044.html)
10//! - [ ] [BEP0045 (Multiple-address operation for the BitTorrent DHT)](http://bittorrent.org/beps/bep_0045.html)
11//! - [ ] [BEP0046 (Updating Torrents Via DHT Mutable Items)](http://bittorrent.org/beps/bep_0046.html)
12//! - [x] [BEP0051 (DHT Infohash Indexing)](http://bittorrent.org/beps/bep_0051.html)
13
14/// Miscellaneous common structs used throughout the library
15pub mod common;
16
17/// Structs and functions with the core business logic of the DHT
18pub mod dht;
19
20/// library-specific error enums
21pub mod errors;
22
23/// Structs and functions for representing DHT messages and serializing and deserializing them
24pub mod packets;
25
26/// A utility for signaling that an async task should do a clean shutdown, and a utility listening for such signals
27pub mod shutdown; // TODO move this into common?
28
29/// Data structures used in the DHT - node buckets, peer storage, etc.
30pub mod storage;