mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-06 01:46:04 +00:00
Minor improvements to Batch encoding
This commit is contained in:
@ -21,6 +21,7 @@
|
||||
|
||||
namespace pocketmine\network;
|
||||
|
||||
use pocketmine\network\mcpe\protocol\BatchPacket;
|
||||
use pocketmine\scheduler\AsyncTask;
|
||||
use pocketmine\Server;
|
||||
|
||||
@ -31,15 +32,18 @@ class CompressBatchedTask extends AsyncTask{
|
||||
public $final;
|
||||
public $targets;
|
||||
|
||||
public function __construct($data, array $targets, $level = 7){
|
||||
$this->data = $data;
|
||||
public function __construct(BatchPacket $data, array $targets, $level = 7){
|
||||
$this->data = serialize($data);
|
||||
$this->targets = $targets;
|
||||
$this->level = $level;
|
||||
}
|
||||
|
||||
public function onRun(){
|
||||
try{
|
||||
$this->final = zlib_encode($this->data, ZLIB_ENCODING_DEFLATE, $this->level);
|
||||
/** @var BatchPacket $pk */
|
||||
$pk = unserialize($this->data);
|
||||
$pk->compress($this->level);
|
||||
$this->final = serialize($pk);
|
||||
$this->data = null;
|
||||
}catch(\Throwable $e){
|
||||
|
||||
@ -47,6 +51,6 @@ class CompressBatchedTask extends AsyncTask{
|
||||
}
|
||||
|
||||
public function onCompletion(Server $server){
|
||||
$server->broadcastPacketsCallback($this->final, (array) $this->targets);
|
||||
$server->broadcastPacketsCallback(unserialize($this->final), (array) $this->targets);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user