diff options
| author | mat <github@matdoes.dev> | 2021-12-14 23:03:26 -0600 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2021-12-14 23:03:26 -0600 |
| commit | 0d6e4179e6cc16594a4be3ecd62d89411115f319 (patch) | |
| tree | 019284386b7a2540efe440e0c2f3aad27801a5a6 /minecraft-protocol/src/packets/status/mod.rs | |
| parent | c96ae8fce4e53ea9fad111ac7f479f2fa33ef859 (diff) | |
| download | azalea-drasl-0d6e4179e6cc16594a4be3ecd62d89411115f319.tar.xz | |
progress, ?
Diffstat (limited to 'minecraft-protocol/src/packets/status/mod.rs')
| -rw-r--r-- | minecraft-protocol/src/packets/status/mod.rs | 32 |
1 files changed, 9 insertions, 23 deletions
diff --git a/minecraft-protocol/src/packets/status/mod.rs b/minecraft-protocol/src/packets/status/mod.rs index 7e327ca7..aa302e58 100644 --- a/minecraft-protocol/src/packets/status/mod.rs +++ b/minecraft-protocol/src/packets/status/mod.rs @@ -6,10 +6,13 @@ use tokio::io::BufReader; use crate::connect::PacketFlow; -use super::{ConnectionProtocol, PacketTrait, ProtocolPacket}; +use super::{ProtocolPacket}; #[derive(Clone, Debug)] -pub enum StatusPacket { +pub enum StatusPacket +where + Self: Sized, +{ ServerboundStatusRequestPacket( serverbound_status_request_packet::ServerboundStatusRequestPacket, ), @@ -18,22 +21,8 @@ pub enum StatusPacket { ), } -// #[async_trait] -// impl ProtocolPacket for StatusPacket { -impl StatusPacket { - fn get_inner(self) -> impl PacketTrait { - match self { - StatusPacket::ServerboundStatusRequestPacket(packet) => packet, - StatusPacket::ClientboundStatusResponsePacket(packet) => packet, - } - } - // fn get_inner(&self) -> StatusPacket { - // match self { - // StatusPacket::ServerboundStatusRequestPacket(packet) => packet, - // StatusPacket::ClientboundStatusResponsePacket(packet) => packet, - // } - // } - +#[async_trait] +impl ProtocolPacket for StatusPacket { fn id(&self) -> u32 { match self { StatusPacket::ServerboundStatusRequestPacket(_packet) => 0x00, @@ -49,14 +38,11 @@ impl StatusPacket { } /// Read a packet by its id, ConnectionProtocol, and flow - async fn read< - T: tokio::io::AsyncRead + std::marker::Unpin + std::marker::Send, - P: ProtocolPacket, - >( + async fn read<T: tokio::io::AsyncRead + std::marker::Unpin + std::marker::Send>( id: u32, flow: &PacketFlow, buf: &mut BufReader<T>, - ) -> Result<P, String> + ) -> Result<StatusPacket, String> where Self: Sized, { |
