Reduce deflater level, prevent race condition when releasing tick buffer

This commit is contained in:
themode 2021-03-20 10:20:45 +01:00
parent cdfa0dcfde
commit a9a0a672f0
3 changed files with 6 additions and 3 deletions

View File

@ -71,7 +71,10 @@ public class ClientChannel extends SimpleChannelInboundHandler<InboundPacket> {
// Release tick buffer
if (playerConnection instanceof NettyPlayerConnection) {
((NettyPlayerConnection) playerConnection).getTickBuffer().release();
final ByteBuf tickBuffer = ((NettyPlayerConnection) playerConnection).getTickBuffer();
synchronized (tickBuffer) {
tickBuffer.release();
}
}
}
}

View File

@ -36,7 +36,7 @@ public class PacketCompressor extends ByteToMessageCodec<ByteBuf> {
private final byte[] buffer = new byte[8192];
private final Deflater deflater = new Deflater();
private final Deflater deflater = new Deflater(3);
private final Inflater inflater = new Inflater();
public PacketCompressor(int threshold) {

View File

@ -25,7 +25,7 @@ import java.util.zip.Deflater;
public final class PacketUtils {
private static final PacketListenerManager PACKET_LISTENER_MANAGER = MinecraftServer.getPacketListenerManager();
private static final ThreadLocal<Deflater> DEFLATER = ThreadLocal.withInitial(Deflater::new);
private static final ThreadLocal<Deflater> DEFLATER = ThreadLocal.withInitial(() -> new Deflater(3));
private PacketUtils() {