Expand description
IronTide engine runtime: the per-torrent actor, the per-peer I/O loops, and
the non-leaf engine infrastructure (disk I/O, tracker management, alerts,
streaming, extensions, SSL).
Renamed from the ROADMAP’s tentative irontide-torrent-actor at the M244b
eng-review (Option 3 hybrid + rename). Sits above the pure leaves
(irontide-engine-support, irontide-session-types, irontide-peer-io,
irontide-settings) and below session-core (irontide-session), which
consumes this crate’s public surface via irontide_engine::….
Re-exports§
pub use alert::Alert;pub use alert::AlertKind;pub use alert::AlertStream;pub use disk::DiskConfig;pub use disk::DiskHandle;pub use disk::DiskJobFlags;pub use disk::DiskManagerHandle;pub use disk::DiskStats;pub use disk_backend::DisabledDiskIo;pub use disk_backend::DiskIoBackend;pub use disk_backend::DiskIoStats;pub use extension::ExtensionPlugin;pub use hash_pool::HashJob;pub use hash_pool::HashPool;pub use hash_pool::HashResult;pub use streaming::FileStream;pub use torrent::TorrentHandle;pub use tracker_manager::TrackerInfo;pub use tracker_manager::TrackerStatus;
Modules§
- alert
- Session alert stream: categories, kinds, and the broadcast surface. Alert/event system for push-based notifications.
- blocking_
spawner - Blocking task spawner for disk + hashing offload.
Bounded blocking-task spawner that uses
block_in_placeinstead ofspawn_blocking, eliminating per-callJoinHandleheap allocations. - disk
- Disk I/O manager: configuration, handles, and statistics.
- disk_
backend - Pluggable disk I/O backend trait and implementations. Pluggable disk I/O backend abstraction.
- extension
- Extension-protocol (BEP 10) plugin surface. Extension plugin interface for custom BEP 10 extensions.
- hash_
pool - Parallel SHA-1/SHA-256 piece-hashing pool. Dedicated thread pool for CPU-bound piece hash verification (M96).
- metadata
- BEP 9 metadata download coordinator.
- peer_
state - Per-torrent peer pipeline state machine.
- proxy
- Proxy configuration (SOCKS5 / HTTP) for peer + tracker connections. Proxy support: SOCKS4, SOCKS5, HTTP CONNECT, and SOCKS5 UDP ASSOCIATE.
- ssl_
manager - SSL/TLS peer connection manager. SSL certificate management for SSL torrents.
- streaming
- Sequential / streaming file read surface.
File streaming —
AsyncRead+AsyncSeekover individual torrent files. - torrent
- The per-torrent actor handle and its command surface.
TorrentActor(single-owner event loop) andTorrentHandle(cloneable public API). - tracker_
manager - Per-torrent tracker manager: announce scheduling + status. Per-torrent tracker announce lifecycle management.
- url_
guard - SSRF-safe URL validation + redirect policy for user-supplied URLs. URL security validation — SSRF mitigation, IDNA rejection, HTTPS enforcement.
- verify_
before_ download - Verify-Before-Download: fast file-size pre-scan (M205). Verify-Before-Download: fast file-size pre-scan (M205).
Structs§
- Alert
Category - Bitmask categories for filtering alerts.
- Peer
Pipeline Snapshot - Point-in-time snapshot of [
PeerPipelineStats] — relocated toirontide-session-typesat M244a; re-exported here socrate::peer_states::PeerPipelineSnapshotresolves unchanged. Point-in-time snapshot of the per-torrent peer-pipeline counters. - Proxy
Config - Proxy connection settings.
Enums§
- Choking
Algorithm - Top-level choking algorithm variant.
- Error
- Errors that can occur during session operations.
- Peer
Source - Origin of a peer address — relocated to
irontide-session-typesat M244a; re-exported here socrate::peer_state::PeerSourceresolves unchanged. Origin of a peer address. - Proxy
Type - Supported proxy protocols (matching libtorrent).
- Seed
Choking Algorithm - Choking algorithm used when we are seeding.
- Torrent
Command - Commands sent from a
TorrentHandleto theTorrentActor.
Functions§
- build_
wanted_ pieces - Build a bitfield marking which pieces are wanted based on file priorities.
Type Aliases§
- Result
- Convenience alias for
Result<T, Error>.