PaperMC/Spigot-Server-Patches/0170-Optimise-NetworkManager.patch

89 lines
3.5 KiB
Diff
Raw Normal View History

2017-05-31 10:04:52 +02:00
From bbd1294e53495ea5c25f53e8e5826da55d3b096a Mon Sep 17 00:00:00 2001
2016-11-25 21:35:15 +01:00
From: Alfie Cleveland <alfeh@me.com>
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
2017-05-31 10:04:52 +02:00
index d583cced6..89743d2be 100644
2016-11-25 21:35:15 +01:00
--- 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<Packet<?>> {
}
};
private final EnumProtocolDirection h;
- private final Queue<NetworkManager.QueuedPacket> i = Queues.newConcurrentLinkedQueue();
- private final ReentrantReadWriteLock j = new ReentrantReadWriteLock();
+ // private final Queue<NetworkManager.QueuedPacket> i = Queues.newConcurrentLinkedQueue(); // Paper
+ // private final ReentrantReadWriteLock j = new ReentrantReadWriteLock(); // Paper
public Channel channel;
// Spigot Start // PAIL
public SocketAddress l;
2017-05-14 20:05:01 +02:00
@@ -141,32 +141,14 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
2016-11-25 21:35:15 +01:00
if (this.isConnected()) {
this.m();
this.a(packet, (GenericFutureListener[]) null);
- } else {
- this.j.writeLock().lock();
2016-11-25 21:35:15 +01:00
-
- try {
2017-05-14 20:05:01 +02:00
- this.i.add(new NetworkManager.QueuedPacket(packet, new GenericFutureListener[0]));
- } finally {
- this.j.writeLock().unlock();
- }
}
-
2016-11-25 21:35:15 +01:00
}
public void sendPacket(Packet<?> packet, GenericFutureListener<? extends Future<? super Void>> genericfuturelistener, GenericFutureListener<? extends Future<? super Void>>... 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();
- }
2016-11-25 21:35:15 +01:00
}
-
}
private void a(final Packet<?> packet, @Nullable final GenericFutureListener<? extends Future<? super Void>>[] agenericfuturelistener) {
2017-05-14 20:05:01 +02:00
@@ -211,20 +193,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
2016-11-25 21:35:15 +01:00
}
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();
- }
-
2016-11-25 21:35:15 +01:00
- }
2017-05-14 20:05:01 +02:00
+ // Paper - Contents removed
2016-11-25 21:35:15 +01:00
}
public void a() {
2017-05-14 20:05:01 +02:00
@@ -320,7 +289,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
2016-11-25 21:35:15 +01:00
} else if (this.i() != null) {
2017-05-31 10:04:52 +02:00
this.i().a(new ChatMessage("multiplayer.disconnect.generic", new Object[0]));
2016-11-25 21:35:15 +01:00
}
- this.i.clear(); // Free up packet queue.
+ // this.i.clear(); // Free up packet queue. // Paper - remove unneeded packet queue
}
}
--
2017-05-14 20:05:01 +02:00
2.13.0
2016-11-25 21:35:15 +01:00