mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-10-16 11:58:00 +00:00
Added a PacketBroadcaster interface
this gives a bit more control over how packets are broadcasted, which might be useful if the batch format changes (e.g. adding a length prefix) for multi version. This really ought to be unique to a protocol context instead of a network interface, but for now this is the best we can do.
This commit is contained in:
@@ -177,16 +177,20 @@ class NetworkSession{
|
||||
/** @var PacketSender */
|
||||
private $sender;
|
||||
|
||||
/** @var PacketBroadcaster */
|
||||
private $broadcaster;
|
||||
|
||||
/**
|
||||
* @var \Closure[]|Set
|
||||
* @phpstan-var Set<\Closure() : void>
|
||||
*/
|
||||
private $disposeHooks;
|
||||
|
||||
public function __construct(Server $server, NetworkSessionManager $manager, PacketPool $packetPool, PacketSender $sender, Compressor $compressor, string $ip, int $port){
|
||||
public function __construct(Server $server, NetworkSessionManager $manager, PacketPool $packetPool, PacketSender $sender, PacketBroadcaster $broadcaster, Compressor $compressor, string $ip, int $port){
|
||||
$this->server = $server;
|
||||
$this->manager = $manager;
|
||||
$this->sender = $sender;
|
||||
$this->broadcaster = $broadcaster;
|
||||
$this->ip = $ip;
|
||||
$this->port = $port;
|
||||
|
||||
@@ -449,6 +453,8 @@ class NetworkSession{
|
||||
}
|
||||
}
|
||||
|
||||
public function getBroadcaster() : PacketBroadcaster{ return $this->broadcaster; }
|
||||
|
||||
public function getCompressor() : Compressor{
|
||||
return $this->compressor;
|
||||
}
|
||||
|
Reference in New Issue
Block a user