mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-16 20:53:54 -07:00
Fix recursive connection call causing StackOverflowException
This was probably caused by the rename sendPacket->send and dispatchPacket->sendPacket
This commit is contained in:
@@ -106,9 +106,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
public void send(Packet<?> packet, @Nullable GenericFutureListener<? extends Future<? super Void>> callback) {
|
public void send(Packet<?> packet, @Nullable GenericFutureListener<? extends Future<? super Void>> callback) {
|
||||||
- if (this.isConnected()) {
|
- if (this.isConnected()) {
|
||||||
- this.flushQueue();
|
- this.flushQueue();
|
||||||
- this.sendPacket(packet, callback);
|
|
||||||
- } else {
|
|
||||||
- this.queue.add(new Connection.PacketHolder(packet, callback));
|
|
||||||
+ // Paper start - handle oversized packets better
|
+ // Paper start - handle oversized packets better
|
||||||
+ boolean connected = this.isConnected();
|
+ boolean connected = this.isConnected();
|
||||||
+ if (!connected && !preparing) {
|
+ if (!connected && !preparing) {
|
||||||
@@ -119,7 +116,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
+ net.minecraft.server.MCUtil.isMainThread() && packet.isReady() && this.queue.isEmpty() &&
|
+ net.minecraft.server.MCUtil.isMainThread() && packet.isReady() && this.queue.isEmpty() &&
|
||||||
+ (packet.getExtraPackets() == null || packet.getExtraPackets().isEmpty())
|
+ (packet.getExtraPackets() == null || packet.getExtraPackets().isEmpty())
|
||||||
+ ))) {
|
+ ))) {
|
||||||
+ this.send(packet, callback);
|
this.sendPacket(packet, callback);
|
||||||
|
- } else {
|
||||||
|
- this.queue.add(new Connection.PacketHolder(packet, callback));
|
||||||
+ return;
|
+ return;
|
||||||
}
|
}
|
||||||
+ // write the packets to the queue, then flush - antixray hooks there already
|
+ // write the packets to the queue, then flush - antixray hooks there already
|
||||||
|
Reference in New Issue
Block a user