From bde027432a0070ee7547ca4459d5948fb8ff2454 Mon Sep 17 00:00:00 2001 From: themode Date: Tue, 2 Mar 2021 20:42:36 +0100 Subject: [PATCH] Small code cleanup for packet caching --- .../network/player/NettyPlayerConnection.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/minestom/server/network/player/NettyPlayerConnection.java b/src/main/java/net/minestom/server/network/player/NettyPlayerConnection.java index e15d8b558..15175734f 100644 --- a/src/main/java/net/minestom/server/network/player/NettyPlayerConnection.java +++ b/src/main/java/net/minestom/server/network/player/NettyPlayerConnection.java @@ -129,26 +129,27 @@ public class NettyPlayerConnection extends PlayerConnection { // This packet explicitly asks to do not retrieve the cache write(serverPacket); } else { - final long time = cacheablePacket.getTimestamp(); + final long timestamp = cacheablePacket.getTimestamp(); // Try to retrieve the cached buffer TemporaryCache temporaryCache = cacheablePacket.getCache(); TimedBuffer timedBuffer = temporaryCache.retrieve(identifier); - boolean shouldUpdate = false; + + // Update the buffer if non-existent or outdated + final boolean shouldUpdate = timedBuffer == null || + timestamp > timedBuffer.getTimestamp(); + + if (timedBuffer == null) { - // Buffer not found, create and cache it + // Buffer not found, create it final ByteBuf buffer = PacketUtils.createFramedPacket(serverPacket, false); - timedBuffer = new TimedBuffer(buffer, time); - shouldUpdate = true; - } else if (time > timedBuffer.getTimestamp()) { // Verify if `serverPacket` is more up-to-date - shouldUpdate = true; + timedBuffer = new TimedBuffer(buffer, timestamp); } if (shouldUpdate) { temporaryCache.cache(identifier, timedBuffer); } - FramedPacket framedPacket = new FramedPacket(timedBuffer.getBuffer()); - write(framedPacket); + write(new FramedPacket(timedBuffer.getBuffer())); } } else