Files
Umbrella/bus/src/main/java/de/srsoftware/umbrella/messagebus/EventQueue.java
2026-01-09 13:02:53 +01:00

37 lines
814 B
Java

/* © SRSoftware 2025 */
package de.srsoftware.umbrella.messagebus;
import static de.srsoftware.umbrella.messagebus.MessageBus.messageBus;
import de.srsoftware.umbrella.messagebus.events.Event;
import java.net.InetSocketAddress;
import java.util.LinkedList;
public class EventQueue extends LinkedList<Event<?>> implements AutoCloseable, EventListener {
private final InetSocketAddress addr;
public EventQueue(InetSocketAddress addr){
this.addr = addr;
messageBus().register(this);
}
public void close() {
messageBus().drop(this);
}
@Override
public int hashCode() {
return addr.hashCode();
}
@Override
public void onEvent(Event<?> event) {
System.getLogger(addr.toString()).log(System.Logger.Level.INFO,"adding event to queue of {1}: {0}",event.eventType(),addr);
add(event);
}
}