diff options
author | Joey Sacchini <joey@sacchini.net> | 2020-12-07 18:22:23 -0500 |
---|---|---|
committer | Joey Sacchini <joey@sacchini.net> | 2020-12-07 18:22:23 -0500 |
commit | 99e7e2b094cc5e20e7ca25df775020bb0dbf254e (patch) | |
tree | 36673f6ab53898a9d36bb44483b4f3193b8afca2 /src | |
parent | 1db5a578e238ffe9c57b7a9c3be97dbf62f4f36e (diff) | |
download | mcproto-rs-99e7e2b094cc5e20e7ca25df775020bb0dbf254e.tar.gz mcproto-rs-99e7e2b094cc5e20e7ca25df775020bb0dbf254e.tar.bz2 mcproto-rs-99e7e2b094cc5e20e7ca25df775020bb0dbf254e.zip |
include associated packet type with PacketKind trait
Diffstat (limited to 'src')
-rw-r--r-- | src/protocol.rs | 4 |
1 files changed, 4 insertions, 0 deletions
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<Self>; #[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<Self> { match (id.id, id.state, id.direction) { $(($id, crate::protocol::State::$state, crate::protocol::PacketDirection::$direction) => Some($kindt::$nam)),*, |