Package org.osgi.util.pushstream
Class AbstractBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>
- java.lang.Object
-
- org.osgi.util.pushstream.AbstractBufferBuilder<R,T,U>
-
- All Implemented Interfaces:
BufferBuilder<R,T,U>
- Direct Known Subclasses:
PushStreamBuilderImpl
abstract class AbstractBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> extends java.lang.Object implements BufferBuilder<R,T,U>
-
-
Field Summary
Fields Modifier and Type Field Description protected PushbackPolicy<T,U>backPressureprotected Ubufferprotected QueuePolicy<T,U>bufferingPolicyprotected intconcurrencyprotected java.util.concurrent.ScheduledExecutorServicetimerprotected java.util.concurrent.Executorworker
-
Constructor Summary
Constructors Constructor Description AbstractBufferBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BufferBuilder<R,T,U>withBuffer(U queue)The BlockingQueue implementation to use as a bufferBufferBuilder<R,T,U>withExecutor(java.util.concurrent.Executor executor)Set theExecutorthat should be used to deliver events from this bufferBufferBuilder<R,T,U>withParallelism(int parallelism)Set the maximum permitted number of concurrent event deliveries allowed from this bufferBufferBuilder<R,T,U>withPushbackPolicy(PushbackPolicy<T,U> pushbackPolicy)Set thePushbackPolicyof this builderBufferBuilder<R,T,U>withPushbackPolicy(PushbackPolicyOption pushbackPolicyOption, long time)Set thePushbackPolicyof this builderBufferBuilder<R,T,U>withQueuePolicy(QueuePolicy<T,U> queuePolicy)Set theQueuePolicyof this BuilderBufferBuilder<R,T,U>withQueuePolicy(QueuePolicyOption queuePolicyOption)Set theQueuePolicyof this BuilderBufferBuilder<R,T,U>withScheduler(java.util.concurrent.ScheduledExecutorService scheduler)Set theScheduledExecutorServicethat should be used to trigger timed events after this buffer-
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.BufferBuilder
build
-
-
-
-
Field Detail
-
worker
protected java.util.concurrent.Executor worker
-
timer
protected java.util.concurrent.ScheduledExecutorService timer
-
concurrency
protected int concurrency
-
backPressure
protected PushbackPolicy<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> backPressure
-
bufferingPolicy
protected QueuePolicy<T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>> bufferingPolicy
-
-
Method Detail
-
withBuffer
public BufferBuilder<R,T,U> withBuffer(U queue)
Description copied from interface:BufferBuilderThe BlockingQueue implementation to use as a buffer- Specified by:
withBufferin interfaceBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>- Returns:
- this builder
-
withQueuePolicy
public BufferBuilder<R,T,U> withQueuePolicy(QueuePolicy<T,U> queuePolicy)
Description copied from interface:BufferBuilderSet theQueuePolicyof this Builder- Specified by:
withQueuePolicyin interfaceBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>- Returns:
- this builder
-
withQueuePolicy
public BufferBuilder<R,T,U> withQueuePolicy(QueuePolicyOption queuePolicyOption)
Description copied from interface:BufferBuilderSet theQueuePolicyof this Builder- Specified by:
withQueuePolicyin interfaceBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>- Returns:
- this builder
-
withPushbackPolicy
public BufferBuilder<R,T,U> withPushbackPolicy(PushbackPolicy<T,U> pushbackPolicy)
Description copied from interface:BufferBuilderSet thePushbackPolicyof this builder- Specified by:
withPushbackPolicyin interfaceBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>- Returns:
- this builder
-
withPushbackPolicy
public BufferBuilder<R,T,U> withPushbackPolicy(PushbackPolicyOption pushbackPolicyOption, long time)
Description copied from interface:BufferBuilderSet thePushbackPolicyof this builder- Specified by:
withPushbackPolicyin interfaceBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>- Returns:
- this builder
-
withParallelism
public BufferBuilder<R,T,U> withParallelism(int parallelism)
Description copied from interface:BufferBuilderSet the maximum permitted number of concurrent event deliveries allowed from this buffer- Specified by:
withParallelismin interfaceBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>- Returns:
- this builder
-
withExecutor
public BufferBuilder<R,T,U> withExecutor(java.util.concurrent.Executor executor)
Description copied from interface:BufferBuilderSet theExecutorthat should be used to deliver events from this buffer- Specified by:
withExecutorin interfaceBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>- Returns:
- this builder
-
withScheduler
public BufferBuilder<R,T,U> withScheduler(java.util.concurrent.ScheduledExecutorService scheduler)
Description copied from interface:BufferBuilderSet theScheduledExecutorServicethat should be used to trigger timed events after this buffer- Specified by:
withSchedulerin interfaceBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>- Returns:
- this builder
-
-