29 lines
523 B
Java
29 lines
523 B
Java
package network.protocol;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class PacketDispatcher {
|
|
|
|
private final List<PacketVisitor> 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);
|
|
}
|
|
|
|
}
|