Expand description
High-throughput BitTorrent DHT crawler with bounded crawl and Metadata pipelines.
DHTServer is the primary entry point. Configure it with DHTOptions, register
callbacks, then await DHTServer::start until another task calls DHTServer::shutdown.
Runtime counters are available through DHTServer::runtime_stats without enabling any
exporter. See the repository README for scheduling, backpressure and migration details.
Re-exports§
pub use scheduler::MetadataScheduler;pub use scheduler::MetadataSchedulerCallbacks;pub use scheduler::MetadataSchedulerLimits;pub use types::BootstrapOptions;pub use types::CrawlOptions;pub use types::DHTOptions;pub use types::FileInfo;pub use types::MetadataFetchCompletion;pub use types::MetadataFetchCompletionStatus;pub use types::MetadataOptions;pub use types::NetMode;pub use types::NodeTuple;pub use types::PeerLookupOptions;pub use types::PoolOptions;pub use types::RateLimitOptions;pub use types::SchedulerOptions;pub use types::TargetOptions;pub use types::TorrentInfo;
Modules§
- metadata
- BEP-9 Metadata fetch support.
- prelude
- Common server, configuration and callback payload imports.
- protocol
- Serializable BEP-5 KRPC wire types.
- scheduler
- Bounded, deduplicating Metadata scheduler.
- types
- Public configuration, callback payload and network types.
Structs§
- DHTServer
- Cloneable BEP-5 server handle and primary crate entry point.
- DhtObservability
Snapshot - Transport-neutral counters and fixed-bucket histograms used by dashboards.
- DhtRuntime
Snapshot - Point-in-time view returned by
DhtRuntimeStats::snapshot. - DhtRuntime
Stats - Cheap, cloneable handle for reading live DHT runtime statistics.
- Fixed
Histogram Snapshot - Snapshot of a non-cumulative fixed-bucket histogram.
- Hash
Discovered - InfoHash and announcing Peer submitted to the Metadata scheduler.
Enums§
- DHTError
- Error returned during DHT initialization or execution.
Type Aliases§
- Result
- Result type used by the crate’s public APIs.