Add: SessionDisconnectJob scheduling to ServerApp
This commit is contained in:
@@ -7,6 +7,7 @@ import ch.unibas.dmi.dbis.cs108.casono.server.network.command.CommandRouter;
|
|||||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent;
|
import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent;
|
||||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus;
|
import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus;
|
||||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher;
|
import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher;
|
||||||
|
import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionDisconnectJob;
|
||||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionManager;
|
import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionManager;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
@@ -17,9 +18,12 @@ import org.apache.logging.log4j.Logger;
|
|||||||
|
|
||||||
/** Application class for starting the server. */
|
/** Application class for starting the server. */
|
||||||
public class ServerApp {
|
public class ServerApp {
|
||||||
public static final int USER_CLEANUP_JOB_DELAY = 0;
|
private static final int USER_CLEANUP_JOB_DELAY = 0;
|
||||||
public static final int USER_CLEANUP_JOB_PERIOD = 10;
|
private static final int USER_CLEANUP_JOB_PERIOD = 10;
|
||||||
public static final int USER_CLEANUP_JOB_RECONNECT_THRESHOLD = 10;
|
private static final int USER_CLEANUP_JOB_RECONNECT_THRESHOLD = 10;
|
||||||
|
private static final int SESSION_DISCONNECT_JOB_DELAY = 0;
|
||||||
|
private static final int SESSION_DISCONNECT_JOB_PERIOD = 2;
|
||||||
|
private static final int SESSION_DISCONNECT_JOB_TIMEOUT = 5;
|
||||||
|
|
||||||
public static void start(String arg) {
|
public static void start(String arg) {
|
||||||
int port = Integer.parseInt(arg);
|
int port = Integer.parseInt(arg);
|
||||||
@@ -45,6 +49,14 @@ public class ServerApp {
|
|||||||
USER_CLEANUP_JOB_DELAY,
|
USER_CLEANUP_JOB_DELAY,
|
||||||
USER_CLEANUP_JOB_PERIOD,
|
USER_CLEANUP_JOB_PERIOD,
|
||||||
TimeUnit.SECONDS);
|
TimeUnit.SECONDS);
|
||||||
|
scheduler.scheduleAtFixedRate(
|
||||||
|
new SessionDisconnectJob(
|
||||||
|
sessionManager,
|
||||||
|
eventBus,
|
||||||
|
Duration.ofSeconds(SESSION_DISCONNECT_JOB_TIMEOUT)),
|
||||||
|
SESSION_DISCONNECT_JOB_DELAY,
|
||||||
|
SESSION_DISCONNECT_JOB_PERIOD,
|
||||||
|
TimeUnit.SECONDS);
|
||||||
|
|
||||||
networkManager.start();
|
networkManager.start();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user