diff options
| author | tv <tv@krebsco.de> | 2026-10-31 05:45:57 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-31 05:45:57 +0100 |
| commit | 197cee7f4da41a8f5181e314a90a26ae93e23a63 (patch) | |
| tree | 105791a86d30f27e9af63165ec7f3c4228b26e75 /src/state/peer.rs | |
| parent | ca0bd76db94e5d561f5c30b7b211e865d9e9e494 (diff) | |
centralize call to topology_change
Diffstat (limited to 'src/state/peer.rs')
| -rw-r--r-- | src/state/peer.rs | 13 |
1 files changed, 13 insertions, 0 deletions
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() { |
