Split packet receive timings into decode and handle subcomponents

This commit is contained in:
Dylan K. Taylor
2022-07-24 21:16:52 +01:00
parent 2940547026
commit 42f9336f7a
2 changed files with 31 additions and 2 deletions

View File

@ -119,6 +119,12 @@ abstract class Timings{
public static $tileEntityTypeTimingMap = [];
/** @var TimingsHandler[] */
public static $packetReceiveTimingMap = [];
/** @var TimingsHandler[] */
private static array $packetDecodeTimingMap = [];
/** @var TimingsHandler[] */
private static array $packetHandleTimingMap = [];
/** @var TimingsHandler[] */
public static $packetSendTimingMap = [];
/** @var TimingsHandler[] */
@ -229,6 +235,22 @@ abstract class Timings{
return self::$packetReceiveTimingMap[$pid];
}
public static function getDecodeDataPacketTimings(ServerboundPacket $pk) : TimingsHandler{
$pid = $pk->pid();
return self::$packetDecodeTimingMap[$pid] ??= new TimingsHandler(
self::INCLUDED_BY_OTHER_TIMINGS_PREFIX . "Decode - " . $pk->getName() . " [0x" . dechex($pid) . "]",
self::getReceiveDataPacketTimings($pk)
);
}
public static function getHandleDataPacketTimings(ServerboundPacket $pk) : TimingsHandler{
$pid = $pk->pid();
return self::$packetHandleTimingMap[$pid] ??= new TimingsHandler(
self::INCLUDED_BY_OTHER_TIMINGS_PREFIX . "Handler - " . $pk->getName() . " [0x" . dechex($pid) . "]",
self::getReceiveDataPacketTimings($pk)
);
}
public static function getSendDataPacketTimings(ClientboundPacket $pk) : TimingsHandler{
$pid = $pk->pid();
if(!isset(self::$packetSendTimingMap[$pid])){