pub struct Handshake {
pub peer_id: String,
pub capabilities: Vec<String>,
pub protocol_version: u32,
}Expand description
Transport-level handshake message exchanged during connection setup.
This is a Layer 4 concern — it identifies the transport endpoint, not the application. Layer 5 (Session) will use this to associate the connection with a known peer.
Fields§
§peer_id: StringIdentifier of the connecting peer (e.g., Tailscale stable node ID).
capabilities: Vec<String>Capabilities supported by this peer (e.g., [“ws”, “binary”, “compress”]).
protocol_version: u32Protocol version for compatibility negotiation.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Handshake
impl<'de> Deserialize<'de> for Handshake
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Handshake
Auto Trait Implementations§
impl Freeze for Handshake
impl RefUnwindSafe for Handshake
impl Send for Handshake
impl Sync for Handshake
impl Unpin for Handshake
impl UnsafeUnpin for Handshake
impl UnwindSafe for Handshake
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more