diff --git a/src/config.rs b/src/config.rs index d9213ff..70050d9 100644 --- a/src/config.rs +++ b/src/config.rs @@ -6,6 +6,12 @@ use url::Url; #[derive(Parser, Debug)] #[command(version, about, long_about = None)] pub struct Config { + /// Directory path to store preloaded data (e.g. `.torrent` files) + /// + /// * it's probably the same location as `public` dir for the [btracker](https://github.com/YGGverse/btracker) frontend + #[arg(long)] + pub preload: PathBuf, + /// Absolute path(s) or URL(s) to import infohashes from the Aquatic tracker binary API /// /// * PR#233 feature ([Wiki](https://github.com/YGGverse/aquatic-crawler/wiki/Aquatic)) @@ -46,10 +52,6 @@ pub struct Config { #[arg(long)] pub bind: Option, - /// Directory path to store preloaded data (e.g. `.torrent` files) - #[arg(long)] - pub preload: PathBuf, - /// Preload only files match regex pattern (list only without preload by default) /// * see also `preload_max_filesize`, `preload_max_filecount` options /// @@ -76,7 +78,7 @@ pub struct Config { #[arg(long)] pub proxy_url: Option, - // Peer options + // Tuneup the peers processor #[arg(long)] pub peer_connect_timeout: Option, @@ -87,6 +89,8 @@ pub struct Config { pub peer_keep_alive_interval: Option, /// Estimated info-hash index capacity + /// + /// * use for memory optimization, depending on tracker volumes #[arg(long, default_value_t = 1000)] pub index_capacity: usize, @@ -100,7 +104,7 @@ pub struct Config { /// Limit download speed (b/s) #[arg(long)] - pub download_limit: Option, + pub download_limit: Option, // * reminder: upload feature is not planed by the crawler impl /// Skip long-thinking connections, /// try to handle the other hashes in this queue after `n` seconds diff --git a/src/main.rs b/src/main.rs index 842cf90..5dfcfaf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -181,7 +181,7 @@ async fn main() -> Result<()> { ); session .delete(librqbit::api::TorrentIdOrHash::Id(id), false) - .await?; + .await?; // * do not collect billions of slow torrents in the session pool continue; } log::debug!("torrent `{i}` preload completed."); @@ -194,7 +194,7 @@ async fn main() -> Result<()> { preload.commit(&i, bytes, Some(keep_files))?; session .delete(librqbit::api::TorrentIdOrHash::Id(id), false) - .await?; + .await?; // torrent data was moved on commit; there's no sense in keeping it log::debug!("torrent `{i}` resolved.") } Ok(_) => panic!(),