Add (v1) NetworkManager, Session and Transport #173

Merged
lars.winzer merged 26 commits from feat/network-manager into main 2026-03-13 15:49:56 +01:00
11 changed files with 24 additions and 12 deletions
Showing only changes of commit 49019075e4 - Show all commits
@@ -1,3 +0,0 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network;
public record DisconnectEvent(SessionId sessionId) implements Event {}
@@ -1,3 +0,0 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network;
interface Event {}
@@ -7,6 +7,12 @@ import java.net.Socket;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
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.sessions.Session;
import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionManager;
import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TcpTransport;
/** /**
* Creates and manages the server socket. Accepts new incomming connections and creates sessions. * Creates and manages the server socket. Accepts new incomming connections and creates sessions.
*/ */
@@ -0,0 +1,5 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network.events;
import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId;
public record DisconnectEvent(SessionId sessionId) implements Event {}
@@ -0,0 +1,3 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network.events;
interface Event {}
@@ -1,4 +1,4 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network; package ch.unibas.dmi.dbis.cs108.casono.server.network.events;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -1,10 +1,14 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network; package ch.unibas.dmi.dbis.cs108.casono.server.network.sessions;
import java.io.EOFException; import java.io.EOFException;
import java.io.IOException; import java.io.IOException;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
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.transport.TransportLayer;
public class Session implements Runnable { public class Session implements Runnable {
private SessionId id; private SessionId id;
private Thread thread; private Thread thread;
@@ -1,4 +1,4 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network; package ch.unibas.dmi.dbis.cs108.casono.server.network.sessions;
import java.util.UUID; import java.util.UUID;
@@ -1,4 +1,4 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network; package ch.unibas.dmi.dbis.cs108.casono.server.network.sessions;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
@@ -1,4 +1,4 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network; package ch.unibas.dmi.dbis.cs108.casono.server.network.transport;
import java.io.DataInputStream; import java.io.DataInputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
@@ -1,4 +1,4 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network; package ch.unibas.dmi.dbis.cs108.casono.server.network.transport;
import java.io.IOException; import java.io.IOException;