Change LoginInboundConnection queue type to something that is actually thread-safe

This commit is contained in:
Andrew Steinborn 2024-09-02 20:47:01 -04:00
parent 862036d424
commit 52ae735ea3

View File

@ -30,9 +30,9 @@ import io.netty.buffer.ByteBufUtil;
import io.netty.buffer.Unpooled; import io.netty.buffer.Unpooled;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.util.ArrayDeque;
import java.util.Optional; import java.util.Optional;
import java.util.Queue; import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
@ -58,7 +58,7 @@ public class LoginInboundConnection implements LoginPhaseConnection, KeyIdentifi
InitialInboundConnection delegate) { InitialInboundConnection delegate) {
this.delegate = delegate; this.delegate = delegate;
this.outstandingResponses = Int2ObjectSyncMap.hashmap(); this.outstandingResponses = Int2ObjectSyncMap.hashmap();
this.loginMessagesToSend = new ArrayDeque<>(); this.loginMessagesToSend = new ConcurrentLinkedQueue<>();
} }
@Override @Override