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>
backPressure
protected U
buffer
protected QueuePolicy<T,U>
bufferingPolicy
protected int
concurrency
protected java.util.concurrent.ScheduledExecutorService
timer
protected java.util.concurrent.Executor
worker
-
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 theExecutor
that 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 thePushbackPolicy
of this builderBufferBuilder<R,T,U>
withPushbackPolicy(PushbackPolicyOption pushbackPolicyOption, long time)
Set thePushbackPolicy
of this builderBufferBuilder<R,T,U>
withQueuePolicy(QueuePolicy<T,U> queuePolicy)
Set theQueuePolicy
of this BuilderBufferBuilder<R,T,U>
withQueuePolicy(QueuePolicyOption queuePolicyOption)
Set theQueuePolicy
of this BuilderBufferBuilder<R,T,U>
withScheduler(java.util.concurrent.ScheduledExecutorService scheduler)
Set theScheduledExecutorService
that 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:BufferBuilder
The BlockingQueue implementation to use as a buffer- Specified by:
withBuffer
in 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:BufferBuilder
Set theQueuePolicy
of this Builder- Specified by:
withQueuePolicy
in 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:BufferBuilder
Set theQueuePolicy
of this Builder- Specified by:
withQueuePolicy
in 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:BufferBuilder
Set thePushbackPolicy
of this builder- Specified by:
withPushbackPolicy
in 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:BufferBuilder
Set thePushbackPolicy
of this builder- Specified by:
withPushbackPolicy
in 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:BufferBuilder
Set the maximum permitted number of concurrent event deliveries allowed from this buffer- Specified by:
withParallelism
in 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:BufferBuilder
Set theExecutor
that should be used to deliver events from this buffer- Specified by:
withExecutor
in 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:BufferBuilder
Set theScheduledExecutorService
that should be used to trigger timed events after this buffer- Specified by:
withScheduler
in interfaceBufferBuilder<R,T,U extends java.util.concurrent.BlockingQueue<PushEvent<? extends T>>>
- Returns:
- this builder
-
-