1#![warn(missing_docs)]
2pub(crate) use irontide_engine_support::error;
8pub use irontide_engine_support::i2p;
9pub(crate) use irontide_engine_support::rate_limiter;
10pub(crate) use irontide_engine_support::slot_tuner;
11pub use irontide_engine_support::stats;
12pub use irontide_engine_support::transport;
13pub(crate) use irontide_session_types::{ban, ip_filter};
16pub use irontide_engine::{
23 alert, disk, disk_backend, extension, hash_pool, streaming, url_guard, verify_before_download,
24};
25pub(crate) use irontide_engine::{
26 blocking_spawner, peer_state, proxy, ssl_manager, torrent, tracker_manager,
27};
28
29pub use irontide_session_core::{
35 apply, category_manager, notification, resume_file, save_path, tag_manager,
36};
37pub(crate) use irontide_session_core::{
38 listener, lsd, metadata_resolver, persistence, queue, settings_convert, types,
39};
40
41mod geoip;
44mod session;
45pub mod watched_folder;
48
49pub use alert::{Alert, AlertCategory, AlertKind, AlertStream};
50pub use apply::{ApplyError, Phase, ReconfigGuard, ReconfigInFlight, apply_phases_with_rollback};
51pub use category_manager::{
52 CategoryError, CategoryMetadata, CategoryRegistry, resolve_category_registry_path,
53};
54pub use disk::{DiskConfig, DiskHandle, DiskJobFlags, DiskManagerHandle, DiskStats};
55pub use disk_backend::{DisabledDiskIo, DiskIoBackend, DiskIoStats};
56pub use error::{Error, Result};
57pub use extension::ExtensionPlugin;
58pub use hash_pool::{HashJob, HashPool, HashResult};
59pub use i2p::{I2pDestination, I2pDestinationError};
60pub use irontide_core::validate_resume_bitfield;
63pub use irontide_core::{WebSeedState, WebSeedStats};
64pub use irontide_engine::{
65 ChokingAlgorithm, PeerPipelineSnapshot, PeerSource, ProxyConfig, ProxyType,
66 SeedChokingAlgorithm, TorrentHandle, TrackerInfo, TrackerStatus, build_wanted_pieces,
67};
68pub use irontide_session_types::ban::BanConfig;
69pub use irontide_session_types::ip_filter::{
70 IpFilter, IpFilterError, PortFilter, parse_dat, parse_p2p,
71};
72pub use irontide_settings::{
73 DEFAULT_ADMINADMIN_HASH, MaxRatioAction, QbtCompatSettings, QbtCredentialMigration,
74 QbtMigrationError, Settings, SettingsError, hash_qbt_password, migrate_qbt_credentials,
75};
76pub use persistence::{DhtNodeEntry, PeerStrikeEntry, SessionState};
77pub use rate_limiter::MixedModeAlgorithm;
78pub use resume_file::{ResumeFileError, default_resume_dir};
79pub use save_path::{
80 ExpandSavePathError, SimpleContentType, TorrentSavePathContext, expand_save_path_for_category,
81 expand_save_path_template,
82};
83pub use session::{
84 AddSource, AddTorrentParams, AppliedSettings, ResumeLoadResult, SessionHandle, SessionSnapshot,
85};
86pub use stats::{
87 MetricKind, NUM_METRICS, SessionCounters, SessionStatsMetric, session_stats_metrics,
88};
89pub use streaming::FileStream;
90pub use tag_manager::{TagError, TagRegistry, resolve_tag_registry_path};
91pub use transport::{BoxedStream, NetworkFactory, TransportListener};
92pub use types::{
93 DebugDispatchState, DebugPeerState, DebugState, DebugTorrentState, FileInfo, FileMode,
94 FileStatus, PartialPieceInfo, PeerConnectionKind, PeerInfo, SessionStats, StorageFactory,
95 TorrentConfig, TorrentFlags, TorrentInfo, TorrentState, TorrentStats, TorrentSummary,
96};