ws: fix metric update in handle_announce_request

This commit is contained in:
Joakim Frostegård 2023-01-18 19:52:47 +01:00
parent 3cfe044297
commit f87e649e60

View file

@ -385,14 +385,20 @@ fn handle_announce_request(
PeerStatus::Stopped => torrent_data.peers.remove(&request.peer_id), PeerStatus::Stopped => torrent_data.peers.remove(&request.peer_id),
}; };
if let Some(removed_peer) = opt_removed_peer { if let Some(&Peer { seeder: true, .. }) = opt_removed_peer.as_ref() {
if removed_peer.seeder {
torrent_data.num_seeders -= 1; torrent_data.num_seeders -= 1;
} }
} else {
#[cfg(feature = "metrics")] #[cfg(feature = "metrics")]
match peer_status {
PeerStatus::Stopped if opt_removed_peer.is_some() => {
::metrics::decrement_gauge!("aquatic_peers", 1.0, "ip_version" => ip_version);
}
PeerStatus::Leeching | PeerStatus::Seeding if opt_removed_peer.is_none() => {
::metrics::increment_gauge!("aquatic_peers", 1.0, "ip_version" => ip_version); ::metrics::increment_gauge!("aquatic_peers", 1.0, "ip_version" => ip_version);
} }
_ => {}
}
} }
// If peer sent offers, send them on to random peers // If peer sent offers, send them on to random peers