Mirror von
https://github.com/GeyserMC/Geyser.git
synchronisiert 2024-11-20 15:00:11 +01:00
Add flow control to localsession to resolve race conditions
Dieser Commit ist enthalten in:
Ursprung
d353df2b7a
Commit
e807ad9c20
@ -35,6 +35,7 @@ import org.checkerframework.checker.nullness.qual.NonNull;
|
|||||||
import org.geysermc.mcprotocollib.network.BuiltinFlags;
|
import org.geysermc.mcprotocollib.network.BuiltinFlags;
|
||||||
import org.geysermc.mcprotocollib.network.codec.PacketCodecHelper;
|
import org.geysermc.mcprotocollib.network.codec.PacketCodecHelper;
|
||||||
import org.geysermc.mcprotocollib.network.packet.PacketProtocol;
|
import org.geysermc.mcprotocollib.network.packet.PacketProtocol;
|
||||||
|
import org.geysermc.mcprotocollib.network.tcp.TcpFlowControlHandler;
|
||||||
import org.geysermc.mcprotocollib.network.tcp.TcpPacketCodec;
|
import org.geysermc.mcprotocollib.network.tcp.TcpPacketCodec;
|
||||||
import org.geysermc.mcprotocollib.network.tcp.TcpPacketSizer;
|
import org.geysermc.mcprotocollib.network.tcp.TcpPacketSizer;
|
||||||
import org.geysermc.mcprotocollib.network.tcp.TcpSession;
|
import org.geysermc.mcprotocollib.network.tcp.TcpSession;
|
||||||
@ -90,6 +91,8 @@ public final class LocalSession extends TcpSession {
|
|||||||
|
|
||||||
ChannelPipeline pipeline = channel.pipeline();
|
ChannelPipeline pipeline = channel.pipeline();
|
||||||
pipeline.addLast("sizer", new TcpPacketSizer(LocalSession.this, protocol.getPacketHeader().getLengthSize()));
|
pipeline.addLast("sizer", new TcpPacketSizer(LocalSession.this, protocol.getPacketHeader().getLengthSize()));
|
||||||
|
|
||||||
|
pipeline.addLast("flow-control", new TcpFlowControlHandler());
|
||||||
pipeline.addLast("codec", new TcpPacketCodec(LocalSession.this, true));
|
pipeline.addLast("codec", new TcpPacketCodec(LocalSession.this, true));
|
||||||
pipeline.addLast("manager", LocalSession.this);
|
pipeline.addLast("manager", LocalSession.this);
|
||||||
|
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren