mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-08 10:53:05 +00:00
Network: clean up ticking handling, RakLib only processes on Snooze notification
This commit is contained in:
@ -80,26 +80,22 @@ class Network{
|
||||
return $this->interfaces;
|
||||
}
|
||||
|
||||
public function processInterfaces() : void{
|
||||
public function tickInterfaces() : void{
|
||||
foreach($this->interfaces as $interface){
|
||||
$this->processInterface($interface);
|
||||
}
|
||||
}
|
||||
try{
|
||||
$interface->tick();
|
||||
}catch(\Exception $e){
|
||||
$logger = $this->server->getLogger();
|
||||
if(\pocketmine\DEBUG > 1){
|
||||
$logger->logException($e);
|
||||
}
|
||||
|
||||
public function processInterface(NetworkInterface $interface) : void{
|
||||
try{
|
||||
$interface->process();
|
||||
}catch(\Throwable $e){
|
||||
$logger = $this->server->getLogger();
|
||||
if(\pocketmine\DEBUG > 1){
|
||||
$logger->logException($e);
|
||||
$this->server->getPluginManager()->callEvent(new NetworkInterfaceCrashEvent($interface, $e));
|
||||
|
||||
$interface->emergencyShutdown();
|
||||
$this->unregisterInterface($interface);
|
||||
$logger->critical($this->server->getLanguage()->translateString("pocketmine.server.networkError", [get_class($interface), $e->getMessage()]));
|
||||
}
|
||||
|
||||
$this->server->getPluginManager()->callEvent(new NetworkInterfaceCrashEvent($interface, $e));
|
||||
|
||||
$interface->emergencyShutdown();
|
||||
$this->unregisterInterface($interface);
|
||||
$logger->critical($this->server->getLanguage()->translateString("pocketmine.server.networkError", [get_class($interface), $e->getMessage()]));
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user