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
PushEventConsumeraccept 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