mirror of
https://github.com/Minestom/Minestom.git
synced 2024-06-26 14:34:59 +02:00
Scheduler should not be responsible for polling timeout
This commit is contained in:
parent
90b89c979e
commit
95a4d6a1ab
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user