Package org.osgi.util.pushstream
Class BufferedPushStreamImpl<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>
- java.lang.Object
-
- org.osgi.util.pushstream.AbstractPushStreamImpl<T>
-
- org.osgi.util.pushstream.UnbufferedPushStreamImpl<T,U>
-
- org.osgi.util.pushstream.BufferedPushStreamImpl<T,U>
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,PushStream<T>
class BufferedPushStreamImpl<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> extends UnbufferedPushStreamImpl<T,U> implements PushStream<T>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.osgi.util.pushstream.AbstractPushStreamImpl
AbstractPushStreamImpl.State
-
-
Field Summary
Fields Modifier and Type Field Description private U
eventQueue
private int
parallelism
private PushbackPolicy<T,U>
pushbackPolicy
private QueuePolicy<T,U>
queuePolicy
private java.util.concurrent.Semaphore
semaphore
private java.util.concurrent.atomic.AtomicBoolean
softClose
Indicates that a terminal event has been received, that we should stop collecting new events, and that we must drain the buffer before continuing-
Fields inherited from class org.osgi.util.pushstream.UnbufferedPushStreamImpl
connector, upstream
-
Fields inherited from class org.osgi.util.pushstream.AbstractPushStreamImpl
closed, next, onCloseCallback, onErrorCallback, promiseFactory, psp
-
-
Constructor Summary
Constructors Constructor Description BufferedPushStreamImpl(PushStreamProvider psp, PromiseFactory promiseFactory, U eventQueue, int parallelism, QueuePolicy<T,U> queuePolicy, PushbackPolicy<T,U> pushbackPolicy, java.util.function.Function<PushEventConsumer<T>,java.lang.AutoCloseable> connector)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected long
handleEvent(PushEvent<? extends T> event)
private void
startWorker()
-
Methods inherited from class org.osgi.util.pushstream.UnbufferedPushStreamImpl
begin, close, upstreamClose
-
Methods inherited from class org.osgi.util.pushstream.AbstractPushStreamImpl
adjustBackPressure, adjustBackPressure, allMatch, anyMatch, asyncMap, buffer, buildBuffer, check, close, close, coalesce, coalesce, coalesce, collect, count, distinct, filter, findAny, findFirst, flatMap, forEach, forEachEvent, fork, getQueueForInternalBuffering, limit, limit, map, max, merge, merge, min, noneMatch, onClose, onError, reduce, reduce, reduce, sequential, skip, sorted, sorted, split, timeout, toArray, toArray, window, window, window, window
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.osgi.util.pushstream.PushStream
adjustBackPressure, adjustBackPressure, allMatch, anyMatch, asyncMap, buffer, buildBuffer, close, coalesce, coalesce, coalesce, collect, count, distinct, filter, findAny, findFirst, flatMap, forEach, forEachEvent, fork, limit, limit, map, max, merge, merge, min, noneMatch, onClose, onError, reduce, reduce, reduce, sequential, skip, sorted, sorted, split, timeout, toArray, toArray, window, window, window, window
-
-
-
-
Field Detail
-
eventQueue
private final U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>> eventQueue
-
semaphore
private final java.util.concurrent.Semaphore semaphore
-
queuePolicy
private final QueuePolicy<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> queuePolicy
-
pushbackPolicy
private final PushbackPolicy<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> pushbackPolicy
-
softClose
private final java.util.concurrent.atomic.AtomicBoolean softClose
Indicates that a terminal event has been received, that we should stop collecting new events, and that we must drain the buffer before continuing
-
parallelism
private final int parallelism
-
-
Constructor Detail
-
BufferedPushStreamImpl
BufferedPushStreamImpl(PushStreamProvider psp, PromiseFactory promiseFactory, U eventQueue, int parallelism, QueuePolicy<T,U> queuePolicy, PushbackPolicy<T,U> pushbackPolicy, java.util.function.Function<PushEventConsumer<T>,java.lang.AutoCloseable> connector)
-
-
Method Detail
-
handleEvent
protected long handleEvent(PushEvent<? extends T> event)
- Overrides:
handleEvent
in classAbstractPushStreamImpl<T>
-
startWorker
private void startWorker()
-
-