summaryrefslogtreecommitdiffstats
path: root/src/state/peer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/state/peer.rs')
-rw-r--r--src/state/peer.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/state/peer.rs b/src/state/peer.rs
index e96cd9c..2ac6b1a 100644
--- a/src/state/peer.rs
+++ b/src/state/peer.rs
@@ -102,6 +102,11 @@ pub(crate) struct PeerState {
pub(crate) epoch_seq: Option<u32>,
/// The peer's run, from its HELLO or HELLO_REPLY: a new one starts `epoch_seq` over.
pub(crate) run_id: Option<crate::transport::RunId>,
+ /// The newest handshake the peer started with us: its run and number
+ /// (`HelloRequest::handshake`). A HELLO repeating it is a retry or a late copy.
+ pub(crate) last_hello: Option<(crate::transport::RunId, u32)>,
+ /// The number of our current handshake with the peer (`AppState::handshakes`).
+ pub(crate) handshake: u32,
/// Whether the peer was ready according to its most recent sync message or keepalive.
pub(crate) reports_ready: Option<bool>,
@@ -169,6 +174,8 @@ impl PeerState {
epoch: None,
epoch_seq: None,
run_id: None,
+ last_hello: None,
+ handshake: 0,
reports_ready: None,
syncs_with_us: None,
reported_heads: None,