diff --git a/Makefile b/Makefile index 800c7d9..dbd48bb 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ devserver: echo -n '' > /tmp/rqbit-log && cargo run -- \ --log-file /tmp/rqbit-log \ --log-file-rust-log=debug,librqbit=trace \ - server start /tmp/scratch/ + server start --fastresume /tmp/scratch/ @PHONY: devserver devserver-postgres: diff --git a/crates/librqbit/src/torrent_state/live/mod.rs b/crates/librqbit/src/torrent_state/live/mod.rs index ffabf18..a537fd0 100644 --- a/crates/librqbit/src/torrent_state/live/mod.rs +++ b/crates/librqbit/src/torrent_state/live/mod.rs @@ -152,7 +152,7 @@ impl TorrentStateLocked { if self.unflushed_bitv_bytes == 0 { return; } - + trace!("trying to flush bitfield"); if let Some(Err(e)) = self .chunks .as_mut() diff --git a/crates/rqbit/src/main.rs b/crates/rqbit/src/main.rs index a697f32..90d50f3 100644 --- a/crates/rqbit/src/main.rs +++ b/crates/rqbit/src/main.rs @@ -143,6 +143,10 @@ struct ServerStartOptions { /// The folder to store session data in. By default uses OS specific folder. #[arg(long = "persistence-config")] persistence_config: Option, + + /// [Experimental] if set, will try to resume quickly after restart and skip checksumming. + #[arg(long = "fastresume")] + fastresume: bool, } #[derive(Parser)] @@ -422,6 +426,8 @@ async fn async_main(opts: Opts) -> anyhow::Result<()> { } } + sopts.fastresume = start_opts.fastresume; + let session = Session::new_with_opts(PathBuf::from(&start_opts.output_folder), sopts) .await