From ec2b53f61adc7c2dc8af9442d72fcecbe4fc406c Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 16 Mar 2023 13:35:12 +0000 Subject: [PATCH] Remove unnecessary PacketBatch instantiations --- src/Server.php | 7 ++----- src/network/mcpe/NetworkSession.php | 2 +- src/network/mcpe/StandardPacketBroadcaster.php | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/Server.php b/src/Server.php index 0a246d0cc..5bda2976b 100644 --- a/src/Server.php +++ b/src/Server.php @@ -59,7 +59,6 @@ use pocketmine\network\mcpe\EntityEventBroadcaster; use pocketmine\network\mcpe\NetworkSession; use pocketmine\network\mcpe\PacketBroadcaster; use pocketmine\network\mcpe\protocol\ProtocolInfo; -use pocketmine\network\mcpe\protocol\serializer\PacketBatch; use pocketmine\network\mcpe\protocol\serializer\PacketSerializerContext; use pocketmine\network\mcpe\raklib\RakLibInterface; use pocketmine\network\mcpe\StandardEntityEventBroadcaster; @@ -1347,16 +1346,14 @@ class Server{ * * @param bool|null $sync Compression on the main thread (true) or workers (false). Default is automatic (null). */ - public function prepareBatch(PacketBatch $stream, Compressor $compressor, ?bool $sync = null, ?TimingsHandler $timings = null) : CompressBatchPromise{ + public function prepareBatch(string $buffer, Compressor $compressor, ?bool $sync = null, ?TimingsHandler $timings = null) : CompressBatchPromise{ $timings ??= Timings::$playerNetworkSendCompress; try{ $timings->startTiming(); - $buffer = $stream->getBuffer(); - if($sync === null){ $threshold = $compressor->getCompressionThreshold(); - $sync = !$this->networkCompressionAsync || $threshold === null || strlen($stream->getBuffer()) < $threshold; + $sync = !$this->networkCompressionAsync || $threshold === null || strlen($buffer) < $threshold; } $promise = new CompressBatchPromise(); diff --git a/src/network/mcpe/NetworkSession.php b/src/network/mcpe/NetworkSession.php index 60c69f2b3..72c7f97fe 100644 --- a/src/network/mcpe/NetworkSession.php +++ b/src/network/mcpe/NetworkSession.php @@ -523,7 +523,7 @@ class NetworkSession{ PacketBatch::encodeRaw($stream, $this->sendBuffer); if($this->enableCompression){ - $promise = $this->server->prepareBatch(new PacketBatch($stream->getBuffer()), $this->compressor, $syncMode, Timings::$playerNetworkSendCompressSessionBuffer); + $promise = $this->server->prepareBatch($stream->getBuffer(), $this->compressor, $syncMode, Timings::$playerNetworkSendCompressSessionBuffer); }else{ $promise = new CompressBatchPromise(); $promise->resolve($stream->getBuffer()); diff --git a/src/network/mcpe/StandardPacketBroadcaster.php b/src/network/mcpe/StandardPacketBroadcaster.php index 1ed0f16ae..3aa7c535b 100644 --- a/src/network/mcpe/StandardPacketBroadcaster.php +++ b/src/network/mcpe/StandardPacketBroadcaster.php @@ -76,7 +76,7 @@ final class StandardPacketBroadcaster implements PacketBroadcaster{ PacketBatch::encodeRaw($stream, $packetBuffers); $batchBuffer = $stream->getBuffer(); - $promise = $this->server->prepareBatch(new PacketBatch($batchBuffer), $compressor, timings: Timings::$playerNetworkSendCompressBroadcast); + $promise = $this->server->prepareBatch($batchBuffer, $compressor, timings: Timings::$playerNetworkSendCompressBroadcast); foreach($compressorTargets as $target){ $target->queueCompressed($promise); }