mirror of
https://github.com/PaperMC/Paper.git
synced 2024-10-29 23:09:33 +01:00
Fix broken async chat. Since Mojang introduced netty, but removed async packet handling, there are now only a few threads available to consume packets. Unfortunately we now have to maintain async chat support. In order to allow Async events to not kill these precious few threads, we do what we did in our Netty implementation, and offload these to their own, decoupled thread pool.
This commit is contained in:
parent
8d622d915b
commit
1e4407fd04
37
CraftBukkit-Patches/0071-Fix-Broken-Async-Chat.patch
Normal file
37
CraftBukkit-Patches/0071-Fix-Broken-Async-Chat.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From c05e1dfb0778e93a4d62851904fb6029fd369089 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Thu, 5 Dec 2013 13:55:53 +1100
|
||||
Subject: [PATCH] Fix Broken Async Chat
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayInChat.java b/src/main/java/net/minecraft/server/PacketPlayInChat.java
|
||||
index 604a7af..4dedd01 100644
|
||||
--- a/src/main/java/net/minecraft/server/PacketPlayInChat.java
|
||||
+++ b/src/main/java/net/minecraft/server/PacketPlayInChat.java
|
||||
@@ -43,7 +43,20 @@ public class PacketPlayInChat extends Packet {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
- public void handle(PacketListener packetlistener) {
|
||||
- this.a((PacketPlayInListener) packetlistener);
|
||||
- }
|
||||
+ // Spigot Start
|
||||
+ private static final java.util.concurrent.ExecutorService executors = java.util.concurrent.Executors.newCachedThreadPool(
|
||||
+ new com.google.common.util.concurrent.ThreadFactoryBuilder().setDaemon( true ).setNameFormat( "Async Chat Thread - #%d" ).build() );
|
||||
+ public void handle(final PacketListener packetlistener)
|
||||
+ {
|
||||
+ executors.submit( new Runnable()
|
||||
+ {
|
||||
+
|
||||
+ @Override
|
||||
+ public void run()
|
||||
+ {
|
||||
+ PacketPlayInChat.this.a( (PacketPlayInListener) packetlistener );
|
||||
+ }
|
||||
+ } );
|
||||
+ }
|
||||
+ // Spigot End
|
||||
}
|
||||
--
|
||||
1.8.3.2
|
||||
|
Loading…
Reference in New Issue
Block a user