package network.protocol; import java.util.ArrayList; import java.util.List; public class PacketDispatcher { private final List handlers; public PacketDispatcher() { this.handlers = new ArrayList<>(); } public void dispatch(Packet packet) { for (PacketVisitor handler : handlers) { handler.visitPacket(packet); } } public void registerHandler(PacketVisitor handler) { handlers.add(handler); } public void unregisterHandler(PacketVisitor handler) { handlers.remove(handler); } }