diff options
| author | mat <github@matdoes.dev> | 2022-05-01 23:06:56 -0500 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2022-05-01 23:06:56 -0500 |
| commit | bec2da64d81883e3ea909452e71e17b9d22b2adc (patch) | |
| tree | d4f94abc09534768f2531a4c23f54dcc2dab2814 /azalea-protocol/packet-macros/src | |
| parent | 4d75415130a008f83c3bd594ca4cefd01f3d53dd (diff) | |
| parent | db2fcecdc38ea7a43b098c6282dd906b73981f97 (diff) | |
| download | azalea-drasl-bec2da64d81883e3ea909452e71e17b9d22b2adc.tar.xz | |
Merge branch 'main' into chunk-decoding
Diffstat (limited to 'azalea-protocol/packet-macros/src')
| -rwxr-xr-x | azalea-protocol/packet-macros/src/lib.rs | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/azalea-protocol/packet-macros/src/lib.rs b/azalea-protocol/packet-macros/src/lib.rs index 6c1998b9..0d912257 100755 --- a/azalea-protocol/packet-macros/src/lib.rs +++ b/azalea-protocol/packet-macros/src/lib.rs @@ -25,11 +25,11 @@ fn create_impl_mcbufreadable(ident: &Ident, data: &Data) -> proc_macro2::TokenSt syn::Type::Path(_) => { if f.attrs.iter().any(|a| a.path.is_ident("varint")) { quote! { - let #field_name = crate::mc_buf::McBufVarintReadable::varint_read_into(buf).await?; + let #field_name = crate::mc_buf::McBufVarintReadable::varint_read_into(buf)?; } } else { quote! { - let #field_name = crate::mc_buf::McBufReadable::read_into(buf).await?; + let #field_name = crate::mc_buf::McBufReadable::read_into(buf)?; } } } @@ -44,12 +44,8 @@ fn create_impl_mcbufreadable(ident: &Ident, data: &Data) -> proc_macro2::TokenSt let read_field_names = named.iter().map(|f| &f.ident).collect::<Vec<_>>(); quote! { - #[async_trait::async_trait] impl crate::mc_buf::McBufReadable for #ident { - async fn read_into<R>(buf: &mut R) -> Result<Self, String> - where - R: tokio::io::AsyncRead + std::marker::Unpin + std::marker::Send, - { + fn read_into(buf: &mut impl std::io::Read) -> Result<Self, String> { #(#read_fields)* Ok(#ident { #(#read_field_names: #read_field_names),* @@ -73,13 +69,10 @@ fn create_impl_mcbufreadable(ident: &Ident, data: &Data) -> proc_macro2::TokenSt } quote! { - #[async_trait::async_trait] impl crate::mc_buf::McBufReadable for #ident { - async fn read_into<R>(buf: &mut R) -> Result<Self, String> - where - R: tokio::io::AsyncRead + std::marker::Unpin + std::marker::Send, + fn read_into(buf: &mut impl std::io::Read) -> Result<Self, String> { - let id = buf.read_varint().await?; + let id = buf.read_varint()?; match id { #match_contents _ => Err(format!("Unknown enum variant {}", id)), @@ -189,11 +182,11 @@ fn as_packet_derive(input: TokenStream, state: proc_macro2::TokenStream) -> Toke crate::mc_buf::McBufWritable::write_into(self, buf) } - pub async fn read<T: tokio::io::AsyncRead + std::marker::Unpin + std::marker::Send>( - buf: &mut T, + pub fn read( + buf: &mut impl std::io::Read, ) -> Result<#state, String> { use crate::mc_buf::McBufReadable; - Ok(Self::read_into(buf).await?.get()) + Ok(Self::read_into(buf)?.get()) } } @@ -339,7 +332,7 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream { #state_name::#name(packet) => packet.write(buf), }); serverbound_read_match_contents.extend(quote! { - #id => #module::#name::read(buf).await?, + #id => #module::#name::read(buf)?, }); } for PacketIdPair { id, module, name } in input.clientbound.packets { @@ -353,7 +346,7 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream { #state_name::#name(packet) => packet.write(buf), }); clientbound_read_match_contents.extend(quote! { - #id => #module::#name::read(buf).await?, + #id => #module::#name::read(buf)?, }); } @@ -366,7 +359,6 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream { #enum_contents } - #[async_trait::async_trait] impl crate::packets::ProtocolPacket for #state_name { fn id(&self) -> u32 { match self { @@ -381,10 +373,10 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream { } /// Read a packet by its id, ConnectionProtocol, and flow - async fn read<T: tokio::io::AsyncRead + std::marker::Unpin + std::marker::Send>( + fn read( id: u32, flow: &crate::connect::PacketFlow, - buf: &mut T, + buf: &mut impl std::io::Read, ) -> Result<#state_name, String> where Self: Sized, |
