mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-15 02:09:42 +00:00
Move responsibility for ping handling to NetworkSession
This commit is contained in:
parent
57e5b1309d
commit
ca1a0c8643
@ -168,13 +168,6 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
|
||||
/** @var NetworkSession */
|
||||
protected $networkSession;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
* Last measurement of player's latency in milliseconds.
|
||||
*/
|
||||
protected $lastPingMeasure = 1;
|
||||
|
||||
|
||||
/** @var float */
|
||||
public $creationTime = 0;
|
||||
|
||||
@ -798,18 +791,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
|
||||
* @return int
|
||||
*/
|
||||
public function getPing() : int{
|
||||
return $this->lastPingMeasure;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the player's last ping measurement.
|
||||
*
|
||||
* @internal Plugins should not use this method.
|
||||
*
|
||||
* @param int $pingMS
|
||||
*/
|
||||
public function updatePing(int $pingMS){
|
||||
$this->lastPingMeasure = $pingMS;
|
||||
return $this->networkSession->getPing();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -53,6 +53,8 @@ class NetworkSession{
|
||||
private $ip;
|
||||
/** @var int */
|
||||
private $port;
|
||||
/** @var int */
|
||||
private $ping;
|
||||
|
||||
/** @var SessionHandler */
|
||||
private $handler;
|
||||
@ -86,6 +88,24 @@ class NetworkSession{
|
||||
return $this->port;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the last recorded ping measurement for this session, in milliseconds.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getPing() : int{
|
||||
return $this->ping;
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal Called by the network interface to update last recorded ping measurements.
|
||||
*
|
||||
* @param int $ping
|
||||
*/
|
||||
public function updatePing(int $ping) : void{
|
||||
$this->ping = $ping;
|
||||
}
|
||||
|
||||
public function getHandler() : SessionHandler{
|
||||
return $this->handler;
|
||||
}
|
||||
|
@ -223,7 +223,7 @@ class RakLibInterface implements ServerInstance, AdvancedNetworkInterface{
|
||||
|
||||
public function updatePing(string $identifier, int $pingMS) : void{
|
||||
if(isset($this->players[$identifier])){
|
||||
$this->players[$identifier]->updatePing($pingMS);
|
||||
$this->players[$identifier]->getNetworkSession()->updatePing($pingMS);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user