use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
#[repr(u8)]
pub enum Message {
Ping,
Pong,
SecureHandshakeInit {
pub_key: [u8; 32],
timestamp: u64,
nonce: [u8; 16],
},
SecureHandshakeResponse {
pub_key: [u8; 32],
nonce: [u8; 16],
nonce_verification: [u8; 32],
},
SecureHandshakeConfirm {
nonce_verification: [u8; 32],
},
Echo(String),
Disconnect,
Custom {
command: String,
payload: Vec<u8>,
},
#[serde(other)]
Unknown,
}
impl crate::core::serialization::MultiFormat for Message {}