pub enum KexEvent {
NegotiatedAlgorithms(NegotiatedAlgorithms),
KeyMaterial(Vec<u8>),
HMACKeyMaterial(Vec<u8>),
Uuid(Uuid),
MoshpitsAddr(SocketAddr),
SessionInfo(Uuid, bool),
Failure,
NoCommonAlgorithm,
}Expand description
The key exchange events
Variants§
NegotiatedAlgorithms(NegotiatedAlgorithms)
Negotiated algorithms — sent before key material so the runtime can construct the correct crypto primitives.
KeyMaterial(Vec<u8>)
AEAD key material for encrypting/decrypting UDP packets (variable size)
HMACKeyMaterial(Vec<u8>)
HMAC key for signing UDP packets (variable size: 64 B for SHA-512, 32 B for SHA-256)
Uuid(Uuid)
moshpit client UUID
MoshpitsAddr(SocketAddr)
moshpits socket address
SessionInfo(Uuid, bool)
Session information: (stable session UUID, is_resume flag)
Failure
Key exchange failure
NoCommonAlgorithm
No algorithm in common between client and server — client should exit, not retry.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for KexEvent
impl RefUnwindSafe for KexEvent
impl Send for KexEvent
impl Sync for KexEvent
impl Unpin for KexEvent
impl UnsafeUnpin for KexEvent
impl UnwindSafe for KexEvent
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