udp: TorrentMap cleaning: improve code, do less work

This commit is contained in:
Joakim Frostegård 2022-04-14 17:44:34 +02:00
parent 0f6be84576
commit ebe612a560

View file

@ -98,9 +98,9 @@ impl TorrentMaps {
let num_leechers = &mut torrent.num_leechers;
torrent.peers.retain(|_, peer| {
let keep = peer.valid_until.0 > now;
if !keep {
if peer.valid_until.0 > now {
true
} else {
match peer.status {
PeerStatus::Seeding => {
*num_seeders -= 1;
@ -110,14 +110,18 @@ impl TorrentMaps {
}
_ => (),
};
}
keep
false
}
});
torrent.peers.shrink_to_fit();
if torrent.peers.is_empty() {
false
} else {
torrent.peers.shrink_to_fit();
!torrent.peers.is_empty()
true
}
}
}