Package | Description |
---|---|
org.osgi.util.pushstream |
Push Stream Package Version 1.0.
|
Modifier and Type | Class and Description |
---|---|
(package private) class |
AbstractBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
interface |
BufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>
Create a buffered section of a Push-based stream
|
(package private) class |
BufferedPushStreamImpl<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
interface |
PushbackPolicy<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>
A
PushbackPolicy is used to calculate how much back pressure to apply
based on the current buffer. |
interface |
PushStreamBuilder<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>
A Builder for a PushStream.
|
(package private) class |
PushStreamBuilderImpl<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
interface |
QueuePolicy<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>
A
QueuePolicy is used to control how events should be queued in the
current buffer. |
(package private) class |
SimplePushEventSourceImpl<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
(package private) class |
UnbufferedPushStreamImpl<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
Modifier and Type | Class and Description |
---|---|
(package private) static class |
PushEvent.CloseEvent<T> |
(package private) static class |
PushEvent.DataEvent<T> |
(package private) static class |
PushEvent.ErrorEvent<T> |
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.atomic.AtomicReference<PushEvent<T>> |
PushStreamProvider.MultiplexingConsumer.terminalEventStore |
Modifier and Type | Method and Description |
---|---|
<U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
AbstractPushStreamImpl.buildBuffer() |
<U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
PushStream.buildBuffer()
Build a buffer to enqueue events in a queue using custom values for the
queue size and other behaviors.
|
<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
PushStreamProvider.buildBufferedConsumer(PushEventConsumer<T> delegate)
Build a buffered
PushEventConsumer with custom configuration. |
<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
PushStreamProvider.buildEventSourceFromStream(PushStream<T> stream)
Convert an
PushStream into an PushEventSource . |
<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
PushStreamProvider.buildSimpleEventSource(java.lang.Class<T> type)
Build a
SimplePushEventSource with the supplied type and custom
buffering behaviors. |
<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
PushStreamProvider.buildStream(PushEventSource<T> eventSource)
Builds a push stream with custom configuration.
|
(package private) <T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
PushStreamProvider.createSimplePushEventSource(int parallelism,
java.util.concurrent.Executor executor,
U queue,
QueuePolicy<T,U> queuePolicy,
java.lang.Runnable onClose) |
(package private) <T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
PushStreamProvider.createStream(PushEventSource<T> eventSource,
int parallelism,
java.util.concurrent.Executor executor,
java.util.concurrent.ScheduledExecutorService scheduler,
U queue,
QueuePolicy<T,U> queuePolicy,
PushbackPolicy<T,U> pushbackPolicy) |
abstract <T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
QueuePolicyOption.getPolicy() |
abstract <T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> |
PushbackPolicyOption.getPolicy(long value)
Create a
PushbackPolicy instance configured with a base back
pressure time in nanoseconds
The actual backpressure returned will vary based on the selected
implementation, the base value, and the state of the buffer. |
Modifier and Type | Method and Description |
---|---|
static <T> PushEvent<T> |
PushEvent.close()
Create a new close event.
|
static <T> PushEvent<T> |
PushEvent.data(T payload)
Create a new data event.
|
static <T> PushEvent<T> |
PushEvent.error(java.lang.Throwable t)
Create a new error event.
|
<X> PushEvent<X> |
PushEvent.nodata()
Convenience to cast a close/error event to another payload type.
|
<X> PushEvent<X> |
PushEvent.DataEvent.nodata() |
Modifier and Type | Method and Description |
---|---|
long |
PushStreamProvider.MultiplexingConsumer.accept(PushEvent<? extends T> event) |
long |
PushStreamProvider.PushEventPipe.accept(PushEvent<? extends T> event) |
long |
PushEventConsumer.accept(PushEvent<? extends T> event)
Accept an event from a source.
|
private <R> void |
AbstractPushStreamImpl.aggregateAndForward(java.util.function.BiFunction<java.lang.Long,java.util.Collection<T>,R> f,
AbstractPushStreamImpl<R> eventStream,
PushEvent<? extends T> event,
java.util.Queue<T> queue,
java.util.concurrent.Executor executor,
long elapsed) |
private <R> long |
AbstractPushStreamImpl.aggregateAndForward(Function<java.util.Collection<T>,R> f,
AbstractPushStreamImpl<R> eventStream,
PushEvent<? extends T> event,
java.util.Queue<T> queue) |
protected boolean |
AbstractPushStreamImpl.close(PushEvent<T> event) |
private void |
SimplePushEventSourceImpl.close(PushEvent<T> event) |
protected boolean |
AbstractPushStreamImpl.close(PushEvent<T> event,
boolean sendDownStreamEvent) |
protected boolean |
UnbufferedPushStreamImpl.close(PushEvent<T> event,
boolean sendDownStreamEvent) |
private void |
SimplePushEventSourceImpl.closeConsumer(PushEventConsumer<? super T> pec,
PushEvent<T> event) |
private Promise<java.lang.Long> |
SimplePushEventSourceImpl.deliver(java.util.List<PushEventConsumer<? super T>> toCall,
PushEvent<T> event) |
private Promise<java.lang.Long> |
SimplePushEventSourceImpl.doCall(PushEvent<T> event,
PushEventConsumer<? super T> pec) |
void |
QueuePolicy.doOffer(U queue,
PushEvent<? extends T> event)
Enqueue the event and return the remaining capacity available for events
|
private void |
SimplePushEventSourceImpl.doSend(PushEventConsumer<? super T> pec,
PushEvent<T> event) |
private Promise<java.lang.Long> |
SimplePushEventSourceImpl.doSendWithBackPressure(PushEventConsumer<? super T> pec,
PushEvent<T> event) |
private void |
SimplePushEventSourceImpl.enqueueEvent(PushEvent<T> event) |
protected long |
AbstractPushStreamImpl.handleEvent(PushEvent<? extends T> event) |
protected long |
BufferedPushStreamImpl.handleEvent(PushEvent<? extends T> event) |
private long |
SimplePushEventSourceImpl.safePush(PushEventConsumer<? super T> pec,
PushEvent<T> event) |
protected abstract void |
AbstractPushStreamImpl.upstreamClose(PushEvent<?> close) |
protected void |
IntermediatePushStreamImpl.upstreamClose(PushEvent<?> close) |
protected void |
UnbufferedPushStreamImpl.upstreamClose(PushEvent<?> close) |
Constructor and Description |
---|
MultiplexingConsumer(java.util.concurrent.atomic.AtomicReference<PushEvent<T>> terminalEventStore,
java.util.concurrent.CopyOnWriteArrayList<PushEventConsumer<? super T>> consumers) |