pub struct HandshakeInit {
pub version: u8,
pub ed25519_pubkey: [u8; 32],
pub x25519_ephemeral: [u8; 32],
pub timestamp: u64,
pub signature: Vec<u8>,
}Expand description
Handshake initiation message (sent by initiator).
Carried in a FrameType::HandshakeInit frame.
Fields§
§version: u8Protocol version (currently 1).
ed25519_pubkey: [u8; 32]The initiator’s Ed25519 public key (32 bytes).
x25519_ephemeral: [u8; 32]Ephemeral X25519 public key for this session (32 bytes).
timestamp: u64Timestamp (Unix millis) — prevents replay attacks.
signature: Vec<u8>Ed25519 signature over [version || x25519_ephemeral || timestamp].
Trait Implementations§
Source§impl Debug for HandshakeInit
impl Debug for HandshakeInit
Source§impl<'de> Deserialize<'de> for HandshakeInit
impl<'de> Deserialize<'de> for HandshakeInit
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
Auto Trait Implementations§
impl Freeze for HandshakeInit
impl RefUnwindSafe for HandshakeInit
impl Send for HandshakeInit
impl Sync for HandshakeInit
impl Unpin for HandshakeInit
impl UnsafeUnpin for HandshakeInit
impl UnwindSafe for HandshakeInit
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