Package | Description |
---|---|
groovyx.gpars.activeobject | |
groovyx.gpars.actor.remote | |
groovyx.gpars.agent.remote | |
groovyx.gpars.dataflow |
This package holds classes for basic dataflow concurrency constructs, like dataflow variables, streams and threads.
|
groovyx.gpars.dataflow.impl | |
groovyx.gpars.dataflow.operator |
This package holds classes representing operators and channels necessary for full dataflow concurrency.
|
groovyx.gpars.dataflow.operator.component | |
groovyx.gpars.dataflow.remote | |
groovyx.gpars.dataflow.stream | |
groovyx.gpars.group | |
groovyx.gpars.remote |
This package holds classes implementing the remoting interface for actors, dataflows and agents.
|
groovyx.gpars.remote.message |
This package holds message classes for the remote actors implementation.
|
groovyx.gpars.util |
Various utility classes enhancing basic Java concurrency constructs.
|
Modifier and Type | Method and Description |
---|---|
(package private) DataflowVariable<java.lang.Object> |
InternalActor.submit(java.lang.Object... args)
A DataflowVariable is passed to the actor, which will bind it once the result is known.
|
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.ConcurrentMap<java.lang.String,DataflowVariable<Actor>> |
RemoteActors.remoteActors
Stores promises to remote instances of Actors.
|
Modifier and Type | Field and Description |
---|---|
private DataflowVariable |
AgentClosureExecutionClosure.newValueVariable |
private DataflowVariable |
AgentClosureExecutionClosure.oldValueVariable |
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.ConcurrentMap<java.lang.String,DataflowVariable<RemoteAgent>> |
RemoteAgents.remoteAgents
Stores promises to remote instances of Agents.
|
Modifier and Type | Method and Description |
---|---|
<T> SerialMsg |
AgentClosureExecutionPolicy.prepareGetValMessage(RemoteAgent<T> agent,
DataflowVariable<T> resultVariable) |
Constructor and Description |
---|
AgentClosureExecutionClosure(java.lang.Object owner,
DataflowVariable oldValueVariable,
DataflowVariable newValueVariable) |
AgentClosureExecutionClosure(java.lang.Object owner,
DataflowVariable oldValueVariable,
DataflowVariable newValueVariable) |
Modifier and Type | Class and Description |
---|---|
class |
LazyDataflowVariable<T>
Represents a thread-safe single-assignment, multi-read variable with delayed initialization.
|
class |
SyncDataflowVariable<T>
A synchronous variant of DataflowVariable, which blocks the writer as well as the readers.
|
Modifier and Type | Field and Description |
---|---|
private static DataflowVariable<java.lang.Object> |
Dataflows.DUMMY |
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.LinkedBlockingQueue<DataflowVariable<T>> |
DataflowQueue.queue
Stores the received DataflowVariables in the buffer.
|
private java.util.Queue<DataflowVariable<T>> |
DataflowQueue.requests
Stores unsatisfied requests for values
|
private java.util.concurrent.ConcurrentMap<java.lang.Object,DataflowVariable<java.lang.Object>> |
Dataflows.variables |
Modifier and Type | Method and Description |
---|---|
private DataflowVariable<T> |
DataflowQueue.copyDFV(java.util.Queue<DataflowVariable<T>> from,
java.util.Queue<DataflowVariable<T>> to) |
protected DataflowVariable<T> |
DataflowQueue.createVariable()
Creates a new variable to perform the next data exchange
|
protected DataflowVariable<T> |
SyncDataflowQueue.createVariable()
Creates a new variable to perform the next data exchange
|
private DataflowVariable<java.lang.Object> |
Dataflows.ensureToContainVariable(java.lang.Object name)
The idea is following:
we try to putIfAbsent dummy DFV in to map
if something real already there we are done
if not we obtain lock and put new DFV with double check
|
private DataflowVariable<java.lang.Object> |
Dataflows.putNewUnderLock(java.lang.Object name)
Utility method extracted just to help JIT
|
DataflowVariable<java.lang.Object> |
Dataflows.remove(java.lang.Object name)
Removes a DFV from the map and binds it to null, if it has not been bound yet
|
private DataflowVariable<T> |
DataflowQueue.retrieveForBind()
Takes the first unsatisfied value request and binds a value on it.
|
private DataflowVariable<T> |
DataflowQueue.retrieveOrCreateVariable()
Checks whether there's a DFV waiting in the queue and retrieves it.
|
Modifier and Type | Method and Description |
---|---|
(package private) java.util.concurrent.LinkedBlockingQueue<DataflowVariable<T>> |
DataflowQueue.getQueue() |
java.util.Iterator<java.util.Map.Entry<java.lang.Object,DataflowVariable<java.lang.Object>>> |
Dataflows.iterator()
Convenience method to play nicely with Groovy object iteration methods.
|
Modifier and Type | Method and Description |
---|---|
private DataflowVariable<T> |
DataflowQueue.copyDFV(java.util.Queue<DataflowVariable<T>> from,
java.util.Queue<DataflowVariable<T>> to) |
private DataflowVariable<T> |
DataflowQueue.copyDFV(java.util.Queue<DataflowVariable<T>> from,
java.util.Queue<DataflowVariable<T>> to) |
Modifier and Type | Field and Description |
---|---|
private DataflowVariable<V> |
ThenMessagingRunnable.result |
Constructor and Description |
---|
ThenMessagingRunnable(DataflowVariable<V> result,
groovy.lang.Closure<V> closure) |
ThenMessagingRunnable(DataflowVariable<V> result,
groovy.lang.Closure<V> closure,
groovy.lang.Closure<V> errorHandler) |
Modifier and Type | Field and Description |
---|---|
private DataflowVariable<java.lang.Boolean> |
PoisonTrackCounter.termination |
Modifier and Type | Field and Description |
---|---|
private DataflowVariable<java.lang.Boolean> |
GracefulShutdownMonitor.result
The final latch that indicates the network has been shutdown
|
Modifier and Type | Class and Description |
---|---|
class |
RemoteDataflowVariable<T>
Proxy object for remote Variable instance.
|
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.ConcurrentMap<java.lang.String,DataflowVariable<?>> |
RemoteDataflows.publishedVariables
Stores DataflowVariables published in context of this instance of RemoteDataflows.
|
private java.util.concurrent.ConcurrentMap<java.lang.String,DataflowVariable<RemoteDataflowBroadcast>> |
RemoteDataflows.remoteBroadcasts
Stores promises to remote instances of DataflowBroadcasts.
|
private java.util.concurrent.ConcurrentMap<java.lang.String,DataflowVariable<RemoteDataflowQueue<?>>> |
RemoteDataflows.remoteQueues
Stores promises to remote instances of DataflowQueues.
|
private java.util.concurrent.ConcurrentMap<java.lang.String,DataflowVariable<DataflowVariable>> |
RemoteDataflows.remoteVariables
Stores promises to remote instances of DataflowVariables.
|
private java.util.concurrent.ConcurrentMap<java.lang.String,DataflowVariable<DataflowVariable>> |
RemoteDataflows.remoteVariables
Stores promises to remote instances of DataflowVariables.
|
Modifier and Type | Method and Description |
---|---|
private DataflowVariable<T> |
RemoteDataflowQueue.createRequestVariable()
Creates a new variable and sends request to queue on remote host asking for value
|
Modifier and Type | Method and Description |
---|---|
Promise<DataflowVariable> |
RemoteDataflows.getVariable(java.lang.String host,
int port,
java.lang.String name)
Retrieves
DataflowVariable published under specified name on remote host. |
Modifier and Type | Method and Description |
---|---|
void |
RemoteDataflows.publish(DataflowVariable<?> variable,
java.lang.String name)
Publishes
DataflowVariable under given name. |
Modifier and Type | Field and Description |
---|---|
protected DataflowVariable<T> |
StreamCore.first |
Modifier and Type | Method and Description |
---|---|
(package private) DataflowVariable<T> |
StreamCore.getFirstDFV() |
Modifier and Type | Method and Description |
---|---|
protected java.util.List<DataflowVariable<T>> |
DataflowStreamReadAdapter.allUnprocessedDFVs() |
Constructor and Description |
---|
StreamCore(DataflowVariable<T> first)
Creates an empty stream
|
StreamCore(DataflowVariable<T> first,
groovy.lang.Closure toBeApplied)
Creates a stream while applying the supplied initialization closure to it
|
StreamCore(DataflowVariable<T> first,
java.util.Collection<MessageStream> wheneverBoundListeners,
java.util.Collection<DataflowChannelListener<T>> updateListeners) |
Modifier and Type | Method and Description |
---|---|
private <T> void |
PGroup.whenAllBound(java.util.List<Promise> promises,
int index,
java.util.List<java.lang.Object> values,
DataflowVariable<T> result,
groovy.lang.Closure<T> code,
groovy.lang.Closure<T> errorHandler)
Waits for the promise identified by the index to be bound and then passes on to the next promise in the list
|
Modifier and Type | Method and Description |
---|---|
protected <T> DataflowVariable<T> |
LocalHost.getPromise(java.util.concurrent.ConcurrentMap<java.lang.String,DataflowVariable<T>> registry,
java.lang.String name,
java.lang.String host,
int port,
SerialMsg requestMsg) |
Modifier and Type | Method and Description |
---|---|
protected <T> DataflowVariable<T> |
LocalHost.getPromise(java.util.concurrent.ConcurrentMap<java.lang.String,DataflowVariable<T>> registry,
java.lang.String name,
java.lang.String host,
int port,
SerialMsg requestMsg) |
Modifier and Type | Field and Description |
---|---|
private DataflowVariable<T> |
RemoteAgentSendClosureMessage.newValueVariable |
private DataflowVariable<T> |
RemoteAgentSendClosureMessage.oldValueVariable |
private DataflowVariable<T> |
RemoteDataflowQueueValueRequestMsg.value |
private DataflowVariable<T> |
RemoteAgentGetValMsg.valueVariable |
private DataflowVariable |
RemoteDataflowVariableReplyMsg.variable |
Constructor and Description |
---|
RemoteAgentGetValMsg(AgentCore agent,
DataflowVariable<T> valueVariable) |
RemoteAgentSendClosureMessage(RemoteAgent<T> agent,
DataflowVariable<T> oldValue,
DataflowVariable<T> newValue) |
RemoteAgentSendClosureMessage(RemoteAgent<T> agent,
DataflowVariable<T> oldValue,
DataflowVariable<T> newValue) |
RemoteDataflowQueueValueRequestMsg(RemoteDataflowQueue<T> queue,
DataflowVariable<T> value) |
RemoteDataflowVariableReplyMsg(java.lang.String name,
DataflowVariable variable) |
Modifier and Type | Method and Description |
---|---|
static <T> void |
PAUtils.evaluateArguments(Pool pool,
java.lang.Object[] args,
int current,
java.util.List<java.lang.Object> soFarArgs,
DataflowVariable<java.lang.Object> result,
groovy.lang.Closure<T> original,
boolean pooledThreadFlag)
Performs a single step in the evaluation of parameters passed into an asynchronous function
|