private static class PushStreamProvider.MultiplexingConsumer<T> extends java.lang.Object implements PushEventConsumer<T>
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.CopyOnWriteArrayList<PushEventConsumer<? super T>> |
consumers |
private java.util.concurrent.atomic.AtomicReference<PushEvent<T>> |
terminalEventStore |
ABORT, CONTINUE
Constructor and Description |
---|
MultiplexingConsumer(java.util.concurrent.atomic.AtomicReference<PushEvent<T>> terminalEventStore,
java.util.concurrent.CopyOnWriteArrayList<PushEventConsumer<? super T>> consumers) |
Modifier and Type | Method and Description |
---|---|
long |
accept(PushEvent<? extends T> event)
Accept an event from a source.
|
private final java.util.concurrent.atomic.AtomicReference<PushEvent<T>> terminalEventStore
private final java.util.concurrent.CopyOnWriteArrayList<PushEventConsumer<? super T>> consumers
public MultiplexingConsumer(java.util.concurrent.atomic.AtomicReference<PushEvent<T>> terminalEventStore, java.util.concurrent.CopyOnWriteArrayList<PushEventConsumer<? super T>> consumers)
public long accept(PushEvent<? extends T> event) throws java.lang.Exception
PushEventConsumer
accept
in interface PushEventConsumer<T>
event
- The eventjava.lang.Exception
- to indicate that an error has occurred and that no
further events should be delivered to this
PushEventConsumer