From 964f78a097a76b809954ddd4c1d5c7055d5a5772 Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 31 Oct 2026 05:45:57 +0100 Subject: centralize call to topology_change --- src/state/peer.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/state/peer.rs') diff --git a/src/state/peer.rs b/src/state/peer.rs index 95a9dc3..99f912b 100644 --- a/src/state/peer.rs +++ b/src/state/peer.rs @@ -288,6 +288,19 @@ impl PeerState { self.unreachable_since.is_some() } + /// What choosing neighbours reads of this peer (`swarm::topology::refresh`): whether + /// it is unreachable, whether it was ever heard from, whether it is a member, and + /// whether it syncs with us. A change to any may change the neighbours + /// (`swarm::topology::change_peer`). + pub(crate) fn neighbour_inputs(&self) -> impl PartialEq + use<> { + ( + self.is_unreachable(), + self.last_seen.is_some(), + matches!(self.standing, Standing::Member { .. }), + self.syncs_with_us, + ) + } + /// The wait before the next HELLO: a probe's if unreachable. pub(crate) fn next_hello_wait(&mut self) -> Duration { if self.is_unreachable() { -- cgit v1.3.1