mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-06 09:56:06 +00:00
Separate packet-sender functionality from NetworkInterface, break cyclic dependency between NetworkInterface and NetworkSession
This commit is contained in:
@ -137,10 +137,14 @@ class NetworkSession{
|
||||
/** @var InventoryManager|null */
|
||||
private $invManager = null;
|
||||
|
||||
public function __construct(Server $server, NetworkSessionManager $manager, NetworkInterface $interface, string $ip, int $port){
|
||||
/** @var PacketSender */
|
||||
private $sender;
|
||||
|
||||
public function __construct(Server $server, NetworkSessionManager $manager, NetworkInterface $interface, PacketSender $sender, string $ip, int $port){
|
||||
$this->server = $server;
|
||||
$this->manager = $manager;
|
||||
$this->interface = $interface;
|
||||
$this->sender = $sender;
|
||||
$this->ip = $ip;
|
||||
$this->port = $port;
|
||||
|
||||
@ -431,7 +435,7 @@ class NetworkSession{
|
||||
$payload = $this->cipher->encrypt($payload);
|
||||
Timings::$playerNetworkSendEncryptTimer->stopTiming();
|
||||
}
|
||||
$this->interface->putPacket($this, $payload, $immediate);
|
||||
$this->sender->send($payload, $immediate);
|
||||
}
|
||||
|
||||
private function tryDisconnect(\Closure $func, string $reason) : void{
|
||||
@ -506,7 +510,7 @@ class NetworkSession{
|
||||
$this->sendDataPacket($reason === "" ? DisconnectPacket::silent() : DisconnectPacket::message($reason), true);
|
||||
}
|
||||
|
||||
$this->interface->close($this, $notify ? $reason : "");
|
||||
$this->sender->close($notify ? $reason : "");
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user