diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/SessionManager.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/SessionManager.java new file mode 100644 index 0000000..3a794f9 --- /dev/null +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/SessionManager.java @@ -0,0 +1,28 @@ +package ch.unibas.dmi.dbis.cs108.casono.server.network; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +public class SessionManager { + private Map sessions; + + public SessionManager() { + this.sessions = new ConcurrentHashMap<>(); + } + + public void addSession(Session session) { + sessions.put(session.getId(), session); + } + + public Session removeSession(SessionId id) { + return sessions.remove(id); + } + + public Session removeSession(Session session) { + return sessions.remove(session.getId()); + } + + public Session getSessionById(SessionId id) { + return sessions.get(id); + } +}