3
0
Mirror von https://github.com/PaperMC/Velocity.git synchronisiert 2024-12-25 07:40:13 +01:00

Work around kqueue transport bug with fallback connections.

Dieser Commit ist enthalten in:
Andrew Steinborn 2019-05-27 14:00:20 -04:00
Ursprung 5baf3c8236
Commit 4e71788aba

Datei anzeigen

@ -404,7 +404,9 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player {
} }
if (connectedServer == null) { if (connectedServer == null) {
// The player isn't yet connected to a server. // The player isn't yet connected to a server. Note that we need to do this in a future run
// of the event loop due to an issue with the Netty kqueue transport.
minecraftConnection.eventLoop().execute(() -> {
Optional<RegisteredServer> nextServer = getNextServerToTry(rs); Optional<RegisteredServer> nextServer = getNextServerToTry(rs);
if (nextServer.isPresent()) { if (nextServer.isPresent()) {
// There can't be any connection in flight now. // There can't be any connection in flight now.
@ -413,6 +415,7 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player {
} else { } else {
disconnect(friendlyReason); disconnect(friendlyReason);
} }
});
} else { } else {
boolean kickedFromCurrent = connectedServer.getServer().equals(rs); boolean kickedFromCurrent = connectedServer.getServer().equals(rs);
ServerKickResult result; ServerKickResult result;