2023-02-15 10:14:13 +00:00
|
|
|
//! Connection handling and send/receive queues
|
|
|
|
|
2023-02-15 14:50:54 +00:00
|
|
|
pub mod handshake;
|
2023-02-15 10:14:13 +00:00
|
|
|
mod packet;
|
2023-02-15 14:50:54 +00:00
|
|
|
|
|
|
|
use ::std::vec::Vec;
|
|
|
|
|
|
|
|
pub use handshake::Handshake;
|
|
|
|
pub use packet::ConnectionID as ID;
|
2023-02-25 14:36:14 +00:00
|
|
|
pub use packet::{Packet, PacketData};
|
2023-02-15 14:50:54 +00:00
|
|
|
|
|
|
|
/// Version of the fenrir protocol in use
|
|
|
|
#[derive(::num_derive::FromPrimitive, Debug, Copy, Clone)]
|
|
|
|
#[repr(u8)]
|
|
|
|
pub enum ProtocolVersion {
|
|
|
|
/// First Fenrir Protocol Version
|
|
|
|
V0 = 0,
|
|
|
|
}
|
2023-02-25 14:36:14 +00:00
|
|
|
impl ProtocolVersion {
|
|
|
|
/// actual length of the protocol version field
|
|
|
|
pub const fn len() -> usize {
|
|
|
|
1
|
|
|
|
}
|
|
|
|
/// Serialize into raw bytes
|
|
|
|
pub fn serialize(&self, out: &mut u8) {
|
|
|
|
*out = *self as u8;
|
|
|
|
}
|
|
|
|
}
|