From fa201a9b717a5ae06c7572fcaa0811eb210d8a00 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Fri, 25 Nov 2016 20:35:05 +0000 Subject: [PATCH] Optimise NetworkManager diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java index d583cced..89743d2b 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -62,8 +62,8 @@ public class NetworkManager extends SimpleChannelInboundHandler> { } }; private final EnumProtocolDirection h; - private final Queue i = Queues.newConcurrentLinkedQueue(); - private final ReentrantReadWriteLock j = new ReentrantReadWriteLock(); + // private final Queue i = Queues.newConcurrentLinkedQueue(); // Paper + // private final ReentrantReadWriteLock j = new ReentrantReadWriteLock(); // Paper public Channel channel; // Spigot Start // PAIL public SocketAddress l; @@ -141,32 +141,14 @@ public class NetworkManager extends SimpleChannelInboundHandler> { if (this.isConnected()) { this.m(); this.a(packet, (GenericFutureListener[]) null); - } else { - this.j.writeLock().lock(); - - try { - this.i.add(new NetworkManager.QueuedPacket(packet, new GenericFutureListener[0])); - } finally { - this.j.writeLock().unlock(); - } } - } public void sendPacket(Packet packet, GenericFutureListener> genericfuturelistener, GenericFutureListener>... agenericfuturelistener) { if (this.isConnected()) { this.m(); this.a(packet, (GenericFutureListener[]) ArrayUtils.add(agenericfuturelistener, 0, genericfuturelistener)); - } else { - this.j.writeLock().lock(); - - try { - this.i.add(new NetworkManager.QueuedPacket(packet, (GenericFutureListener[]) ArrayUtils.add(agenericfuturelistener, 0, genericfuturelistener))); - } finally { - this.j.writeLock().unlock(); - } } - } private void a(final Packet packet, @Nullable final GenericFutureListener>[] agenericfuturelistener) { @@ -211,20 +193,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { } private void m() { - if (this.channel != null && this.channel.isOpen()) { - this.j.readLock().lock(); - - try { - while (!this.i.isEmpty()) { - NetworkManager.QueuedPacket networkmanager_queuedpacket = (NetworkManager.QueuedPacket) this.i.poll(); - - this.a(networkmanager_queuedpacket.a, networkmanager_queuedpacket.b); - } - } finally { - this.j.readLock().unlock(); - } - - } + // Paper - Contents removed } public void a() { @@ -320,7 +289,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { } else if (this.i() != null) { this.i().a(new ChatMessage("multiplayer.disconnect.generic", new Object[0])); } - this.i.clear(); // Free up packet queue. + // this.i.clear(); // Free up packet queue. // Paper - remove unneeded packet queue } } -- 2.13.1.windows.2