aboutsummaryrefslogtreecommitdiff
path: root/minecraft-protocol/src/packets/status/mod.rs
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2021-12-14 23:03:26 -0600
committermat <github@matdoes.dev>2021-12-14 23:03:26 -0600
commit0d6e4179e6cc16594a4be3ecd62d89411115f319 (patch)
tree019284386b7a2540efe440e0c2f3aad27801a5a6 /minecraft-protocol/src/packets/status/mod.rs
parentc96ae8fce4e53ea9fad111ac7f479f2fa33ef859 (diff)
downloadazalea-drasl-0d6e4179e6cc16594a4be3ecd62d89411115f319.tar.xz
progress, ?
Diffstat (limited to 'minecraft-protocol/src/packets/status/mod.rs')
-rw-r--r--minecraft-protocol/src/packets/status/mod.rs32
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,
{