@java.lang.SuppressWarnings({"unchecked"}) public class DataflowStreamReadAdapter extends java.lang.Object
Adapts a DataflowStream to accommodate for the DataflowReadChannel interface. To minimize the overhead and stay in-line with the DataflowStream semantics, the DataflowStreamReadAdapter class is not thread-safe and should only be used from within a single thread. If multiple threads need to read from a DataflowStream, they should each create their own wrapping DataflowStreamReadAdapter.
- The type of messages to pass through the streamModifiers | Name | Description |
---|---|---|
private StreamCore<T> |
asyncHead |
|
private DataflowChannelEventOrchestrator<T> |
eventManager |
|
private StreamCore<T> |
head |
Constructor and description |
---|
DataflowStreamReadAdapter
(StreamCore<T> stream) Creates a new adapter |
Type | Name and description |
---|---|
protected java.util.List<DataflowVariable<T>> |
allUnprocessedDFVs() |
void |
binaryChoice(DataflowWriteChannel<T> trueBranch, DataflowWriteChannel<T> falseBranch, groovy.lang.Closure<java.lang.Boolean> code) |
void |
binaryChoice(Pool pool, DataflowWriteChannel<T> trueBranch, DataflowWriteChannel<T> falseBranch, groovy.lang.Closure<java.lang.Boolean> code) |
void |
binaryChoice(PGroup group, DataflowWriteChannel<T> trueBranch, DataflowWriteChannel<T> falseBranch, groovy.lang.Closure<java.lang.Boolean> code) |
void |
binaryChoice(java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> trueBranch, DataflowWriteChannel<T> falseBranch, groovy.lang.Closure<java.lang.Boolean> code) |
void |
binaryChoice(Pool pool, java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> trueBranch, DataflowWriteChannel<T> falseBranch, groovy.lang.Closure<java.lang.Boolean> code) |
void |
binaryChoice(PGroup group, java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> trueBranch, DataflowWriteChannel<T> falseBranch, groovy.lang.Closure<java.lang.Boolean> code) |
DataflowReadChannel<V> |
chainWith(groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
chainWith(Pool pool, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
chainWith(PGroup group, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
chainWith(java.util.Map<java.lang.String, java.lang.Object> params, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
chainWith(Pool pool, java.util.Map<java.lang.String, java.lang.Object> params, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
chainWith(PGroup group, java.util.Map<java.lang.String, java.lang.Object> params, groovy.lang.Closure<V> closure) |
void |
choice(java.util.List<DataflowWriteChannel<T>> outputs, groovy.lang.Closure<java.lang.Integer> code) |
void |
choice(Pool pool, java.util.List<DataflowWriteChannel<T>> outputs, groovy.lang.Closure<java.lang.Integer> code) |
void |
choice(PGroup group, java.util.List<DataflowWriteChannel<T>> outputs, groovy.lang.Closure<java.lang.Integer> code) |
void |
choice(java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowWriteChannel<T>> outputs, groovy.lang.Closure<java.lang.Integer> code) |
void |
choice(Pool pool, java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowWriteChannel<T>> outputs, groovy.lang.Closure<java.lang.Integer> code) |
void |
choice(PGroup group, java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowWriteChannel<T>> outputs, groovy.lang.Closure<java.lang.Integer> code) |
DataflowReadChannel<T> |
filter(groovy.lang.Closure<java.lang.Boolean> closure) |
DataflowReadChannel<T> |
filter(Pool pool, groovy.lang.Closure<java.lang.Boolean> closure) |
DataflowReadChannel<T> |
filter(PGroup group, groovy.lang.Closure<java.lang.Boolean> closure) |
DataflowReadChannel<T> |
filter(java.util.Map<java.lang.String, java.lang.Object> params, groovy.lang.Closure<java.lang.Boolean> closure) |
DataflowReadChannel<T> |
filter(Pool pool, java.util.Map<java.lang.String, java.lang.Object> params, groovy.lang.Closure<java.lang.Boolean> closure) |
DataflowReadChannel<T> |
filter(PGroup group, java.util.Map<java.lang.String, java.lang.Object> params, groovy.lang.Closure<java.lang.Boolean> closure) |
private void |
fireOnMessage(T value) |
DataflowChannelEventListenerManager<T> |
getEventManager() |
T |
getVal() |
T |
getVal(long timeout, java.util.concurrent.TimeUnit units) |
void |
getValAsync(MessageStream callback) |
void |
getValAsync(java.lang.Object attachment, MessageStream callback) |
void |
into(DataflowWriteChannel<T> target) |
void |
into(Pool pool, DataflowWriteChannel<T> target) |
void |
into(PGroup group, DataflowWriteChannel<T> target) |
void |
into(java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> target) |
void |
into(Pool pool, java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> target) |
void |
into(PGroup group, java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> target) |
boolean |
isBound() |
java.util.Iterator<T> |
iterator() |
int |
length() Returns the current size of the buffer |
DataflowReadChannel<V> |
merge(DataflowReadChannel<java.lang.Object> other, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
merge(Pool pool, DataflowReadChannel<java.lang.Object> other, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
merge(PGroup group, DataflowReadChannel<java.lang.Object> other, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
merge(java.util.List<DataflowReadChannel<java.lang.Object>> others, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
merge(Pool pool, java.util.List<DataflowReadChannel<java.lang.Object>> others, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
merge(PGroup group, java.util.List<DataflowReadChannel<java.lang.Object>> others, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
merge(java.util.Map<java.lang.String, java.lang.Object> params, DataflowReadChannel<java.lang.Object> other, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
merge(Pool pool, java.util.Map<java.lang.String, java.lang.Object> params, DataflowReadChannel<java.lang.Object> other, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
merge(PGroup group, java.util.Map<java.lang.String, java.lang.Object> params, DataflowReadChannel<java.lang.Object> other, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
merge(java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowReadChannel<java.lang.Object>> others, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
merge(Pool pool, java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowReadChannel<java.lang.Object>> others, groovy.lang.Closure<V> closure) |
DataflowReadChannel<V> |
merge(PGroup group, java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowReadChannel<java.lang.Object>> others, groovy.lang.Closure<V> closure) |
private void |
moveAsyncHead() |
private void |
moveHead() |
DataflowReadChannel<V> |
or(groovy.lang.Closure<V> closure) |
void |
or(DataflowWriteChannel<T> target) |
DataflowExpression<T> |
poll() |
Promise<V> |
rightShift(groovy.lang.Closure<V> closure) |
void |
separate(java.util.List<DataflowWriteChannel<?>> outputs, groovy.lang.Closure<java.util.List<java.lang.Object>> code) |
void |
separate(Pool pool, java.util.List<DataflowWriteChannel<?>> outputs, groovy.lang.Closure<java.util.List<java.lang.Object>> code) |
void |
separate(PGroup group, java.util.List<DataflowWriteChannel<?>> outputs, groovy.lang.Closure<java.util.List<java.lang.Object>> code) |
void |
separate(java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowWriteChannel<?>> outputs, groovy.lang.Closure<java.util.List<java.lang.Object>> code) |
void |
separate(Pool pool, java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowWriteChannel<?>> outputs, groovy.lang.Closure<java.util.List<java.lang.Object>> code) |
void |
separate(PGroup group, java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowWriteChannel<?>> outputs, groovy.lang.Closure<java.util.List<java.lang.Object>> code) |
private boolean |
shouldReportTimeout() |
void |
split(DataflowWriteChannel<T> target1, DataflowWriteChannel<T> target2) |
void |
split(Pool pool, DataflowWriteChannel<T> target1, DataflowWriteChannel<T> target2) |
void |
split(PGroup group, DataflowWriteChannel<T> target1, DataflowWriteChannel<T> target2) |
void |
split(java.util.List<DataflowWriteChannel<T>> targets) |
void |
split(Pool pool, java.util.List<DataflowWriteChannel<T>> targets) |
void |
split(PGroup group, java.util.List<DataflowWriteChannel<T>> targets) |
void |
split(java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> target1, DataflowWriteChannel<T> target2) |
void |
split(Pool pool, java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> target1, DataflowWriteChannel<T> target2) |
void |
split(PGroup group, java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> target1, DataflowWriteChannel<T> target2) |
void |
split(java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowWriteChannel<T>> targets) |
void |
split(Pool pool, java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowWriteChannel<T>> targets) |
void |
split(PGroup group, java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<DataflowWriteChannel<T>> targets) |
DataflowReadChannel<T> |
tap(DataflowWriteChannel<T> target) |
DataflowReadChannel<T> |
tap(Pool pool, DataflowWriteChannel<T> target) |
DataflowReadChannel<T> |
tap(PGroup group, DataflowWriteChannel<T> target) |
DataflowReadChannel<T> |
tap(java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> target) |
DataflowReadChannel<T> |
tap(Pool pool, java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> target) |
DataflowReadChannel<T> |
tap(PGroup group, java.util.Map<java.lang.String, java.lang.Object> params, DataflowWriteChannel<T> target) |
Promise<V> |
then(groovy.lang.Closure<V> closure) Schedule closure to be executed after data became available. |
Promise<V> |
then(Pool pool, groovy.lang.Closure<V> closure) Schedule closure to be executed after data becomes available. |
Promise<V> |
then(PGroup group, groovy.lang.Closure<V> closure) Schedule closure to be executed after data becomes available. |
java.lang.String |
toString() |
void |
whenBound(groovy.lang.Closure<V> closure) |
void |
whenBound(Pool pool, groovy.lang.Closure<V> closure) Schedule closure to be executed by pooled actor after data becomes available. |
void |
whenBound(PGroup group, groovy.lang.Closure<V> closure) |
void |
whenBound(MessageStream stream) |
void |
wheneverBound(groovy.lang.Closure<V> closure) |
void |
wheneverBound(MessageStream stream) |
Methods inherited from class | Name |
---|---|
class java.lang.Object |
java.lang.Object#wait(), java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Creates a new adapter
stream
- The stream to wrapReturns the current size of the buffer
Schedule closure to be executed after data became available. It is important to notice that even if the expression is already bound the execution of closure will not happen immediately but will be scheduled
closure
- closure to execute when data becomes available. The closure should take at most one argument.Schedule closure to be executed after data becomes available. It is important to notice that even if the expression is already bound the execution of closure will not happen immediately but will be scheduled.
pool
- The thread pool to use for task scheduling for asynchronous message deliveryclosure
- closure to execute when data becomes available. The closure should take at most one argument.Schedule closure to be executed after data becomes available. It is important to notice that even if the expression is already bound the execution of closure will not happen immediately but will be scheduled.
group
- The PGroup to use for task scheduling for asynchronous message deliveryclosure
- closure to execute when data becomes available. The closure should take at most one argument.Schedule closure to be executed by pooled actor after data becomes available. It is important to notice that even if the expression is already bound the execution of closure will not happen immediately but will be scheduled.
pool
- The thread pool to use for task scheduling for asynchronous message deliveryclosure
- closure to execute when data becomes available. The closure should take at most one argument.Copyright © 2008–2014 Václav Pech. All Rights Reserved.