A couple touch-ups

This commit is contained in:
Igor Katson 2024-12-07 12:17:17 +00:00
parent 82f167d50d
commit 9e4c465336
No known key found for this signature in database
GPG key ID: B4EC22B66D61A3F5

View file

@ -1008,12 +1008,11 @@ impl Session {
name,
} = add_res;
let peer_stream_permanent = !opts.paused && !opts.list_only;
let make_peer_rx = || {
self.make_peer_rx(
info_hash,
trackers.clone(),
peer_stream_permanent,
!opts.paused && !opts.list_only,
opts.force_tracker_interval,
opts.initial_peers.clone().unwrap_or_default(),
)
@ -1026,7 +1025,7 @@ impl Session {
match metadata {
Some(metadata) => {
let mut peer_rx = None;
if peer_stream_permanent {
if !opts.paused && !opts.list_only {
peer_rx = make_peer_rx()?;
}
(metadata, peer_rx)
@ -1038,6 +1037,9 @@ impl Session {
let resolved_magnet = self
.resolve_magnet(info_hash, peer_rx, &trackers, opts.peer_opts)
.await?;
// Add back seen_peers into the peer stream, as we consumed some peers
// while resolving the magnet.
seen_peers = resolved_magnet.seen_peers.clone();
let peer_rx = Some(
merge_streams(
@ -1072,12 +1074,6 @@ impl Session {
(None, Some(s)) => self.output_folder.join(s),
};
let storage_factory = opts
.storage_factory
.take()
.or_else(|| self.default_storage_factory.as_ref().map(|f| f.clone_box()))
.unwrap_or_else(|| FilesystemStorageFactory::default().boxed());
if opts.list_only {
return Ok(AddTorrentResponse::ListOnly(ListOnlyResponse {
info_hash,
@ -1089,6 +1085,12 @@ impl Session {
}));
}
let storage_factory = opts
.storage_factory
.take()
.or_else(|| self.default_storage_factory.as_ref().map(|f| f.clone_box()))
.unwrap_or_else(|| FilesystemStorageFactory::default().boxed());
let id = if let Some(id) = opts.preferred_id {
id
} else if let Some(p) = self.persistence.as_ref() {