Skip to content

Commit 048d35c

Browse files
committed
fix: don't double count completed stat when peers announce as completed multiple times
1 parent 9ec5ed2 commit 048d35c

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/tracker/torrent.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,12 @@ impl TorrentEntry {
3232
AnnounceEvent::Completed => {
3333
let peer_old = self.peers.insert(peer.peer_id.clone(), peer.clone());
3434
// Don't count if peer was not previously known
35-
if peer_old.is_some() {
36-
self.completed += 1;
37-
did_torrent_stats_change = true;
35+
if let Some(old_peer) = peer_old {
36+
// Don't double count
37+
if !old_peer.is_seeder() {
38+
self.completed += 1;
39+
did_torrent_stats_change = true;
40+
}
3841
}
3942
}
4043
_ => {

0 commit comments

Comments
 (0)