From bc3aa9467ae1e2d0ea1727093af9b0af14965e69 Mon Sep 17 00:00:00 2001 From: mat <27899617+mat-1@users.noreply.github.com> Date: Fri, 7 Oct 2022 20:12:36 -0500 Subject: Replace impl Read with Cursor<&[u8]> (#26) * Start getting rid of Cursor * try to make the tests pass and fail * make the tests pass * remove unused uses * fix clippy warnings * fix potential OOM exploits * fix OOM in az-nbt * fix nbt benchmark * fix a test * start replacing it with Cursor> * wip * fix all the issues * fix all tests * fix nbt benchmark * fix warnings --- .../login/clientbound_login_compression_packet.rs | 32 ++++------------------ 1 file changed, 5 insertions(+), 27 deletions(-) (limited to 'azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs') diff --git a/azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs b/azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs index 6ecbfb66..6976298a 100755 --- a/azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs +++ b/azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs @@ -1,31 +1,9 @@ -use super::ClientboundLoginPacket; -use azalea_buf::{BufReadError, McBufVarReadable, McBufVarWritable}; -use std::{ - hash::Hash, - io::{Read, Write}, -}; +use azalea_buf::McBuf; +use azalea_protocol_macros::ClientboundLoginPacket; +use std::hash::Hash; -#[derive(Hash, Clone, Debug)] +#[derive(Hash, Clone, Debug, ClientboundLoginPacket, McBuf)] pub struct ClientboundLoginCompressionPacket { + #[var] pub compression_threshold: i32, } - -impl ClientboundLoginCompressionPacket { - pub fn get(self) -> ClientboundLoginPacket { - ClientboundLoginPacket::LoginCompression(self) - } - - pub fn write(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { - self.compression_threshold.var_write_into(buf)?; - Ok(()) - } - - pub fn read(buf: &mut impl Read) -> Result { - let compression_threshold = i32::var_read_from(buf)?; - - Ok(ClientboundLoginCompressionPacket { - compression_threshold, - } - .get()) - } -} -- cgit v1.2.3