aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/write.rs
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2025-04-17 16:16:51 -0500
committerGitHub <noreply@github.com>2025-04-17 16:16:51 -0500
commit3f60bdadac1a02e1109148bbbe5a8a3545f13849 (patch)
tree6c0460be61e715c1b789f81b16ce4c0fb986c3b4 /azalea-protocol/src/write.rs
parent1989f4ec979c138f8f466ccebadca335eb2917d6 (diff)
downloadazalea-drasl-3f60bdadac1a02e1109148bbbe5a8a3545f13849.tar.xz
Move login state to the ECS (#213)
* use packet handlers code for login custom_query * initial broken implementation for ecs-only login * fixes * run Update schedule 60 times per second and delete code related to run_schedule_sender * fix tests * fix online-mode * reply to query packets in a separate system and make it easier for plugins to disable individual replies * remove unused imports
Diffstat (limited to 'azalea-protocol/src/write.rs')
-rw-r--r--azalea-protocol/src/write.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/azalea-protocol/src/write.rs b/azalea-protocol/src/write.rs
index adefc340..dd863f9e 100644
--- a/azalea-protocol/src/write.rs
+++ b/azalea-protocol/src/write.rs
@@ -54,6 +54,15 @@ pub async fn write_raw_packet<W>(
where
W: AsyncWrite + Unpin + Send,
{
+ let network_packet = encode_to_network_packet(raw_packet, compression_threshold, cipher);
+ stream.write_all(&network_packet).await
+}
+
+pub fn encode_to_network_packet(
+ raw_packet: &[u8],
+ compression_threshold: Option<u32>,
+ cipher: &mut Option<Aes128CfbEnc>,
+) -> Vec<u8> {
trace!("Writing raw packet: {raw_packet:?}");
let mut raw_packet = raw_packet.to_vec();
if let Some(threshold) = compression_threshold {
@@ -64,7 +73,7 @@ where
if let Some(cipher) = cipher {
azalea_crypto::encrypt_packet(cipher, &mut raw_packet);
}
- stream.write_all(&raw_packet).await
+ raw_packet
}
pub fn compression_encoder(