1#![warn(missing_docs)]
2pub(crate) use irontide_engine_support::error;
13pub use irontide_engine_support::i2p;
14pub(crate) use irontide_engine_support::rate_limiter;
15pub use irontide_engine_support::stats;
16pub use irontide_engine_support::transport;
17pub(crate) use irontide_engine::metadata;
23pub use irontide_engine::{
24 alert, disk, disk_backend, extension, hash_pool, streaming, url_guard, verify_before_download,
25};
26
27pub mod apply;
32pub mod category_manager;
34pub mod listener;
36pub mod lsd;
38pub mod metadata_resolver;
40pub mod notification;
43pub mod persistence;
45pub mod queue;
47pub(crate) mod registry_common;
49pub mod resume_file;
51pub mod save_path;
53pub mod settings_convert;
55pub mod tag_manager;
57pub mod types;
59pub(crate) mod utp_routing;
61
62pub use alert::{Alert, AlertCategory, AlertKind, AlertStream};
67pub use apply::{ApplyError, Phase, ReconfigGuard, ReconfigInFlight, apply_phases_with_rollback};
68pub use category_manager::{
69 CategoryError, CategoryMetadata, CategoryRegistry, resolve_category_registry_path,
70};
71pub use disk::{DiskConfig, DiskHandle, DiskJobFlags, DiskManagerHandle, DiskStats};
72pub use disk_backend::{DisabledDiskIo, DiskIoBackend, DiskIoStats};
73pub use error::{Error, Result};
74pub use extension::ExtensionPlugin;
75pub use hash_pool::{HashJob, HashPool, HashResult};
76pub use i2p::{I2pDestination, I2pDestinationError};
77pub use irontide_core::validate_resume_bitfield;
78pub use irontide_core::{WebSeedState, WebSeedStats};
79pub use irontide_engine::{
80 ChokingAlgorithm, PeerPipelineSnapshot, PeerSource, ProxyConfig, ProxyType,
81 SeedChokingAlgorithm, TorrentHandle, TrackerInfo, TrackerStatus, build_wanted_pieces,
82};
83pub use irontide_session_types::ban::BanConfig;
84pub use irontide_session_types::ip_filter::{
85 IpFilter, IpFilterError, PortFilter, parse_dat, parse_p2p,
86};
87pub use irontide_settings::{
88 DEFAULT_ADMINADMIN_HASH, MaxRatioAction, QbtCompatSettings, QbtCredentialMigration,
89 QbtMigrationError, Settings, SettingsError, hash_qbt_password, migrate_qbt_credentials,
90};
91pub use persistence::{DhtNodeEntry, PeerStrikeEntry, SessionState};
92pub use rate_limiter::MixedModeAlgorithm;
93pub use resume_file::{ResumeFileError, default_resume_dir};
94pub use save_path::{
95 ExpandSavePathError, SimpleContentType, TorrentSavePathContext, expand_save_path_for_category,
96 expand_save_path_template,
97};
98pub use stats::{
99 MetricKind, NUM_METRICS, SessionCounters, SessionStatsMetric, session_stats_metrics,
100};
101pub use streaming::FileStream;
102pub use tag_manager::{TagError, TagRegistry, resolve_tag_registry_path};
103pub use transport::{BoxedStream, NetworkFactory, TransportListener};
104pub use types::{
105 DebugDispatchState, DebugPeerState, DebugState, DebugTorrentState, FileInfo, FileMode,
106 FileStatus, PartialPieceInfo, PeerInfo, SessionStats, StorageFactory, TorrentConfig,
107 TorrentFlags, TorrentInfo, TorrentState, TorrentStats, TorrentSummary,
108};