More more more more more more work
This commit is contained in:
		
					parent
					
						
							
								7409d8fed7
							
						
					
				
			
			
				commit
				
					
						f51c531b94
					
				
			
		
					 42 changed files with 58 additions and 57 deletions
				
			
		
							
								
								
									
										39
									
								
								patches/server/Use-a-Queue-for-Queueing-Commands.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								patches/server/Use-a-Queue-for-Queueing-Commands.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Aikar <aikar@aikar.co>
 | 
			
		||||
Date: Sun, 12 Aug 2018 02:33:39 -0400
 | 
			
		||||
Subject: [PATCH] Use a Queue for Queueing Commands
 | 
			
		||||
 | 
			
		||||
Lists are bad as Queues mmmkay.
 | 
			
		||||
 | 
			
		||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
 | 
			
		||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
			
		||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
 | 
			
		||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
 | 
			
		||||
@@ -0,0 +0,0 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
 | 
			
		||||
     static final Logger LOGGER = LogUtils.getLogger();
 | 
			
		||||
     private static final int CONVERSION_RETRY_DELAY_MS = 5000;
 | 
			
		||||
     private static final int CONVERSION_RETRIES = 2;
 | 
			
		||||
-    private final List<ConsoleInput> consoleInput = Collections.synchronizedList(Lists.newArrayList());
 | 
			
		||||
+    private final java.util.Queue<ConsoleInput> serverCommandQueue = new java.util.concurrent.ConcurrentLinkedQueue<>(); // Paper - use a proper queuemmands
 | 
			
		||||
     @Nullable
 | 
			
		||||
     private QueryThreadGs4 queryThreadGs4;
 | 
			
		||||
     public final RconConsoleSource rconConsoleSource;
 | 
			
		||||
@@ -0,0 +0,0 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
     public void handleConsoleInput(String command, CommandSourceStack commandSource) {
 | 
			
		||||
-        this.consoleInput.add(new ConsoleInput(command, commandSource));
 | 
			
		||||
+        this.serverCommandQueue.add(new ConsoleInput(command, commandSource)); // Paper - use proper queue
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
     public void handleConsoleInputs() {
 | 
			
		||||
         MinecraftTimings.serverCommandTimer.startTiming(); // Spigot
 | 
			
		||||
-        while (!this.consoleInput.isEmpty()) {
 | 
			
		||||
-            ConsoleInput servercommand = (ConsoleInput) this.consoleInput.remove(0);
 | 
			
		||||
+        // Paper start - use proper queue
 | 
			
		||||
+        ConsoleInput servercommand;
 | 
			
		||||
+        while ((servercommand = this.serverCommandQueue.poll()) != null) {
 | 
			
		||||
+            // Paper end
 | 
			
		||||
 
 | 
			
		||||
             // CraftBukkit start - ServerCommand for preprocessing
 | 
			
		||||
             ServerCommandEvent event = new ServerCommandEvent(console, servercommand.msg);
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue