Mirror von
https://github.com/PaperMC/Velocity.git
synchronisiert 2024-11-17 05:20:14 +01:00
Make sure to issue a backpressure-solving flush on a future iteration of the event loop
Thanks to @Spottedleaf for finding this issue.
Dieser Commit ist enthalten in:
Ursprung
c32bc88064
Commit
d3ff6f8e33
@ -335,8 +335,11 @@ public class ClientPlaySessionHandler implements MinecraftSessionHandler {
|
|||||||
boolean writable = player.getConnection().getChannel().isWritable();
|
boolean writable = player.getConnection().getChannel().isWritable();
|
||||||
|
|
||||||
if (!writable) {
|
if (!writable) {
|
||||||
// We might have packets queued from the server, so flush them now to free up memory.
|
// We might have packets queued from the server, so flush them now to free up memory. Make
|
||||||
player.getConnection().flush();
|
// sure to do it on a future invocation of the event loop, otherwise while the issue will
|
||||||
|
// fix itself, we'll still disable auto-reading and instead of backpressure resolution, we
|
||||||
|
// get client timeouts.
|
||||||
|
player.getConnection().eventLoop().execute(() -> player.getConnection().flush());
|
||||||
}
|
}
|
||||||
|
|
||||||
VelocityServerConnection serverConn = player.getConnectedServer();
|
VelocityServerConnection serverConn = player.getConnectedServer();
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren