pub trait RawPacket<'a>: HasPacketId + Sized {
type Packet: Packet;
// Required methods
fn create(id: Id, data: &'a [u8]) -> Result<Self, PacketErr>;
fn data(&self) -> &'a [u8] ⓘ;
fn deserialize(&self) -> Result<Self::Packet, PacketErr>;
}
Required Associated Types§
Required Methods§
fn create(id: Id, data: &'a [u8]) -> Result<Self, PacketErr>
fn data(&self) -> &'a [u8] ⓘ
fn deserialize(&self) -> Result<Self::Packet, PacketErr>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.