#[non_exhaustive]pub enum RendezvousHandshakeState {
Idle,
Waving,
Attention,
Initiated,
Connected,
Rejected,
TimedOut,
}Expand description
Rendezvous handshake lifecycle state (draft-sharabayko-srt-01 §4.3.2).
State names are exactly the Parallel Handshake Flow diagram (§4.3.2.2,
L2280): Waving -> Attention -> Initiated -> Connected. See the module
doc “Serial vs Parallel flow” note for why there is no separate state for
the Serial flow’s “fine”.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Idle
No handshake message sent yet. Not spec-named — mirrors
crate::caller::CallerHandshakeState::Idle.
Waving
L2100/L2153/L2280 “waving”/“Waving”: both parties’ initial state.
Attention
L2172/L2280 “attention”/“Attention”: a WAVEAHAND was received, the cookie contest is resolved, awaiting the peer’s CONCLUSION.
Initiated
L2234/L2280 “initiated”/“Initiated”: role-appropriate extension content has been seen at least once; awaiting the peer’s confirmation.
Connected
L2224/L2251/L2280 “connected”/“Connected”: the handshake completed;
NegotiatedParams are available.
Rejected
The handshake was rejected (locally, or by an explicit peer Table 7 code). Not spec-named.
TimedOut
No response arrived after the configured retry budget. Not spec-named.
Implementations§
Trait Implementations§
Source§impl Clone for RendezvousHandshakeState
impl Clone for RendezvousHandshakeState
Source§fn clone(&self) -> RendezvousHandshakeState
fn clone(&self) -> RendezvousHandshakeState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more