Scheduler should not be responsible for polling timeout

This commit is contained in:
themode 2022-01-19 23:33:21 +01:00
parent 90b89c979e
commit 95a4d6a1ab
2 changed files with 5 additions and 16 deletions

View File

@ -20,7 +20,6 @@ import net.minestom.server.monitoring.TickMonitor;
import net.minestom.server.network.ConnectionManager;
import net.minestom.server.network.PacketProcessor;
import net.minestom.server.network.socket.Server;
import net.minestom.server.network.socket.Worker;
import net.minestom.server.recipe.RecipeManager;
import net.minestom.server.scoreboard.TeamManager;
import net.minestom.server.storage.StorageLocation;
@ -289,7 +288,6 @@ final class ServerProcessImpl implements ServerProcess {
// Flush all waiting packets
PacketUtils.flush();
server().workers().forEach(Worker::flush);
// Monitoring
{

View File

@ -17,7 +17,6 @@ import java.nio.channels.Selector;
import java.nio.channels.SocketChannel;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.zip.Inflater;
@ -30,7 +29,6 @@ public final class Worker extends MinestomThread {
private final Map<SocketChannel, PlayerSocketConnection> connectionMap = new ConcurrentHashMap<>();
private final Server server;
private final MpscUnboundedXaddArrayQueue<Runnable> queue = new MpscUnboundedXaddArrayQueue<>(1024);
private final AtomicBoolean flush = new AtomicBoolean();
Worker(Server server) {
super("Ms-worker-" + COUNTER.getAndIncrement());
@ -52,12 +50,10 @@ public final class Worker extends MinestomThread {
MinecraftServer.getExceptionManager().handleException(e);
}
// Flush all connections if needed
if (flush.compareAndSet(true, false)) {
try {
connectionMap.values().forEach(PlayerSocketConnection::flushSync);
} catch (Exception e) {
MinecraftServer.getExceptionManager().handleException(e);
}
try {
connectionMap.values().forEach(PlayerSocketConnection::flushSync);
} catch (Exception e) {
MinecraftServer.getExceptionManager().handleException(e);
}
// Wait for an event
this.selector.select(key -> {
@ -79,7 +75,7 @@ public final class Worker extends MinestomThread {
MinecraftServer.getExceptionManager().handleException(e);
connection.disconnect();
}
});
}, MinecraftServer.TICK_MS);
} catch (Exception e) {
MinecraftServer.getExceptionManager().handleException(e);
}
@ -113,11 +109,6 @@ public final class Worker extends MinestomThread {
this.selector.wakeup();
}
public void flush() {
this.flush.set(true);
this.selector.wakeup();
}
public MessagePassingQueue<Runnable> queue() {
return queue;
}