pub enum Packet<'a> {
ConnectionRequest {
version_info: [u8; 13],
protocol_id: u64,
expire_timestamp: u64,
xnonce: [u8; 24],
data: [u8; 1024],
},
ConnectionDenied,
Challenge {
token_sequence: u64,
token_data: [u8; 300],
},
Response {
token_sequence: u64,
token_data: [u8; 300],
},
KeepAlive {
client_index: u32,
max_clients: u32,
},
Payload(&'a [u8]),
Disconnect,
}Variants§
Implementations§
Source§impl<'a> Packet<'a>
impl<'a> Packet<'a>
pub fn packet_type(&self) -> PacketType
pub fn id(&self) -> u8
pub fn connection_request_from_token(connect_token: &ConnectToken) -> Self
pub fn generate_challenge( client_id: u64, user_data: &[u8; 256], challenge_sequence: u64, challenge_key: &[u8; 32], ) -> Result<Self, NetcodeError>
pub fn encode( &self, buffer: &mut [u8], protocol_id: u64, crypto_info: Option<(u64, &[u8; 32])>, encrypted: bool, ) -> Result<usize, NetcodeError>
pub fn decode( buffer: &'a mut [u8], protocol_id: u64, private_key: Option<&[u8; 32]>, replay_protection: Option<&mut ReplayProtection>, encrypted: bool, ) -> Result<(u64, Self), NetcodeError>
Sourcepub fn packet_type_from_buffer(
buffer: &[u8],
) -> Result<PacketType, NetcodeError>
pub fn packet_type_from_buffer( buffer: &[u8], ) -> Result<PacketType, NetcodeError>
Gets the packet type of a packet.
Trait Implementations§
impl<'a> Eq for Packet<'a>
impl<'a> StructuralPartialEq for Packet<'a>
Auto Trait Implementations§
impl<'a> Freeze for Packet<'a>
impl<'a> RefUnwindSafe for Packet<'a>
impl<'a> Send for Packet<'a>
impl<'a> Sync for Packet<'a>
impl<'a> Unpin for Packet<'a>
impl<'a> UnwindSafe for Packet<'a>
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