Package org.osgi.util.pushstream
Class PushStreamProvider.MultiplexingConsumer<T>
java.lang.Object
org.osgi.util.pushstream.PushStreamProvider.MultiplexingConsumer<T>
- All Implemented Interfaces:
PushEventConsumer<T>
- Enclosing class:
- PushStreamProvider
private static class PushStreamProvider.MultiplexingConsumer<T>
extends Object
implements PushEventConsumer<T>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CopyOnWriteArrayList<PushEventConsumer<? super T>>
private final AtomicReference<PushEvent<T>>
Fields inherited from interface org.osgi.util.pushstream.PushEventConsumer
ABORT, CONTINUE
-
Constructor Summary
ConstructorsConstructorDescriptionMultiplexingConsumer
(AtomicReference<PushEvent<T>> terminalEventStore, CopyOnWriteArrayList<PushEventConsumer<? super T>> consumers) -
Method Summary
-
Field Details
-
terminalEventStore
-
consumers
-
-
Constructor Details
-
MultiplexingConsumer
public MultiplexingConsumer(AtomicReference<PushEvent<T>> terminalEventStore, CopyOnWriteArrayList<PushEventConsumer<? super T>> consumers)
-
-
Method Details
-
accept
Description copied from interface:PushEventConsumer
Accept an event from a source. Events can be delivered on multiple threads simultaneously. However, Close and Error events are the last events received, no more events must be sent after them.- Specified by:
accept
in interfacePushEventConsumer<T>
- Parameters:
event
- The event- Returns:
- less than 0 means abort, 0 means continue, more than 0 means delay ms
- Throws:
Exception
- to indicate that an error has occurred and that no further events should be delivered to thisPushEventConsumer
-