From 99e7e2b094cc5e20e7ca25df775020bb0dbf254e Mon Sep 17 00:00:00 2001 From: Joey Sacchini Date: Mon, 7 Dec 2020 18:22:23 -0500 Subject: include associated packet type with PacketKind trait --- src/protocol.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/protocol.rs b/src/protocol.rs index f8873a1..7bbfa84 100644 --- a/src/protocol.rs +++ b/src/protocol.rs @@ -98,6 +98,8 @@ pub trait PacketKind: HasPacketId + Clone + Copy + PartialEq + Eq { #[cfg(feature = "gat")] type RawPacket<'a>: RawPacket<'a>; + type Packet: Packet; + fn from_id(id: Id) -> Option; #[cfg(feature = "gat")] @@ -432,6 +434,8 @@ macro_rules! define_protocol { #[cfg(feature = "gat")] type RawPacket<'a> = $rawpackett<'a>; + type Packet = $packett; + fn from_id(id: crate::protocol::Id) -> Option { match (id.id, id.state, id.direction) { $(($id, crate::protocol::State::$state, crate::protocol::PacketDirection::$direction) => Some($kindt::$nam)),*, -- cgit