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
Showing only changes of commit e1029932d8 - Show all commits
@@ -2,6 +2,7 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
import java.util.function.Consumer; import java.util.function.Consumer;
@@ -16,6 +17,7 @@ public class EventBus {
} }
public <T extends Event> void publish(T event) { public <T extends Event> void publish(T event) {
Objects.requireNonNull(event, "event must not be null");
List<Consumer<Object>> subscribers = handlers.get(event.getClass()); List<Consumer<Object>> subscribers = handlers.get(event.getClass());
if (subscribers != null) { if (subscribers != null) {
subscribers.forEach(h -> h.accept(event)); subscribers.forEach(h -> h.accept(event));