From 2f54c943720aea0c2c83049a37644fd67f6718bb Mon Sep 17 00:00:00 2001 From: MrIvanPlays Date: Tue, 26 May 2020 19:45:36 +1000 Subject: [PATCH] #2786: Should first peek keepalive queue --- .../main/java/net/md_5/bungee/connection/UpstreamBridge.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java index 6b888c85..d93efd87 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java @@ -122,10 +122,11 @@ public class UpstreamBridge extends PacketHandler @Override public void handle(KeepAlive alive) throws Exception { - KeepAliveData keepAliveData = con.getServer().getKeepAlives().poll(); + KeepAliveData keepAliveData = con.getServer().getKeepAlives().peek(); if ( keepAliveData != null && alive.getRandomId() == keepAliveData.getId() ) { + Preconditions.checkState( keepAliveData == con.getServer().getKeepAlives().poll(), "keepalive queue mismatch" ); int newPing = (int) ( System.currentTimeMillis() - keepAliveData.getTime() ); con.getTabListHandler().onPingChange( newPing ); con.setPing( newPing );