From 3cd105ff33be54bf5d8b4cda45ea9e88fff23184 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 20 Jul 2018 13:07:06 +0100 Subject: [PATCH] Remove remnants of needACK functionality this has been broken for a long time and hasn't been used for even longer. --- src/pocketmine/Player.php | 21 ++++++++----------- src/pocketmine/Server.php | 2 +- src/pocketmine/network/NetworkInterface.php | 5 +---- .../network/mcpe/RakLibInterface.php | 14 ++----------- 4 files changed, 13 insertions(+), 29 deletions(-) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index ae250fcc1..17997d025 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -1902,7 +1902,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ $pk = new PlayStatusPacket(); $pk->status = $status; $pk->protocol = $this->protocol; - $this->sendDataPacket($pk, false, $immediate); + $this->sendDataPacket($pk, $immediate); } public function onVerifyCompleted(LoginPacket $packet, ?string $error, bool $signedByMojang) : void{ @@ -2997,12 +2997,11 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ /** * @param DataPacket $packet - * @param bool $needACK * @param bool $immediate * - * @return bool|int + * @return bool */ - public function sendDataPacket(DataPacket $packet, bool $needACK = false, bool $immediate = false){ + public function sendDataPacket(DataPacket $packet, bool $immediate = false) : bool{ if(!$this->isConnected()){ return false; } @@ -3017,22 +3016,20 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ /** * @param DataPacket $packet - * @param bool $needACK * - * @return bool|int + * @return bool */ - public function dataPacket(DataPacket $packet, bool $needACK = false){ - return $this->sendDataPacket($packet, $needACK, false); + public function dataPacket(DataPacket $packet) : bool{ + return $this->sendDataPacket($packet, false); } /** * @param DataPacket $packet - * @param bool $needACK * - * @return bool|int + * @return bool */ - public function directDataPacket(DataPacket $packet, bool $needACK = false){ - return $this->sendDataPacket($packet, $needACK, true); + public function directDataPacket(DataPacket $packet) : bool{ + return $this->sendDataPacket($packet, true); } /** diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index b7f1a0cc7..0d4a6f1df 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -1893,7 +1893,7 @@ class Server{ */ public function broadcastPacketsCallback(string $payload, array $players, bool $immediate = false){ foreach($players as $i){ - $i->getNetworkSession()->getInterface()->putPacket($i, $payload, false, $immediate); + $i->getNetworkSession()->getInterface()->putPacket($i, $payload, $immediate); } } diff --git a/src/pocketmine/network/NetworkInterface.php b/src/pocketmine/network/NetworkInterface.php index 461bc7440..f06526873 100644 --- a/src/pocketmine/network/NetworkInterface.php +++ b/src/pocketmine/network/NetworkInterface.php @@ -43,12 +43,9 @@ interface NetworkInterface{ * * @param Player $player * @param string $payload - * @param bool $needACK * @param bool $immediate - * - * @return int|null */ - public function putPacket(Player $player, string $payload, bool $needACK = false, bool $immediate = true) : ?int; + public function putPacket(Player $player, string $payload, bool $immediate = true) : void; /** * Terminates the connection diff --git a/src/pocketmine/network/mcpe/RakLibInterface.php b/src/pocketmine/network/mcpe/RakLibInterface.php index aca42af67..9aaeeda9f 100644 --- a/src/pocketmine/network/mcpe/RakLibInterface.php +++ b/src/pocketmine/network/mcpe/RakLibInterface.php @@ -62,9 +62,6 @@ class RakLibInterface implements ServerInstance, AdvancedNetworkInterface{ /** @var string[] */ private $identifiers = []; - /** @var int[] */ - private $identifiersACK = []; - /** @var ServerHandler */ private $interface; @@ -111,7 +108,6 @@ class RakLibInterface implements ServerInstance, AdvancedNetworkInterface{ $player = $this->players[$identifier]; unset($this->identifiers[spl_object_hash($player)]); unset($this->players[$identifier]); - unset($this->identifiersACK[$identifier]); $player->close($player->getLeaveMessage(), $reason); } } @@ -119,7 +115,6 @@ class RakLibInterface implements ServerInstance, AdvancedNetworkInterface{ public function close(Player $player, string $reason = "unknown reason") : void{ if(isset($this->identifiers[$h = spl_object_hash($player)])){ unset($this->players[$this->identifiers[$h]]); - unset($this->identifiersACK[$this->identifiers[$h]]); $this->interface->closeSession($this->identifiers[$h], $reason); unset($this->identifiers[$h]); } @@ -142,7 +137,6 @@ class RakLibInterface implements ServerInstance, AdvancedNetworkInterface{ $player = new $class($this, $ev->getAddress(), $ev->getPort()); $this->players[$identifier] = $player; - $this->identifiersACK[$identifier] = 0; $this->identifiers[spl_object_hash($player)] = $identifier; $this->server->addPlayer($player); } @@ -214,21 +208,17 @@ class RakLibInterface implements ServerInstance, AdvancedNetworkInterface{ } } - public function putPacket(Player $player, string $payload, bool $needACK = false, bool $immediate = true) : ?int{ + public function putPacket(Player $player, string $payload, bool $immediate = true) : void{ if(isset($this->identifiers[$h = spl_object_hash($player)])){ $identifier = $this->identifiers[$h]; $pk = new EncapsulatedPacket(); - $pk->identifierACK = $this->identifiersACK[$identifier]++; $pk->buffer = self::MCPE_RAKNET_PACKET_ID . $payload; $pk->reliability = PacketReliability::RELIABLE_ORDERED; $pk->orderChannel = 0; - $this->interface->sendEncapsulated($identifier, $pk, ($needACK ? RakLib::FLAG_NEED_ACK : 0) | ($immediate ? RakLib::PRIORITY_IMMEDIATE : RakLib::PRIORITY_NORMAL)); - return $pk->identifierACK; + $this->interface->sendEncapsulated($identifier, $pk, ($immediate ? RakLib::PRIORITY_IMMEDIATE : RakLib::PRIORITY_NORMAL)); } - - return null; } public function updatePing(string $identifier, int $pingMS) : void{