class GroupFromAny
The GroupFromAny is an implementation of a ForGroup in which all the outputs to the Worker processes are written to an array of one2one channels. The input comes from a single process using a one2any channel. Typically the sending processes will be a sequence of an Emit and a FanOutAny process and the GroupFromAny will be the first such ForGroup in a sequence of such groups. The advantage of using the GroupFromAny is that as members of the group finish processing a data object they can move onto another one, if one should exist. Thus the ForGroup mechanism allows the elements of processing to get out of sync with each other. Synchronising versions do exist see those labelled with names that start BSP.
input
- A ChannelInputfrom which each Worker process reads .outputList
- A ChannelOutputList with as many channels as the value of workers.
Each Worker process writes to just one of the channelsdataClassName
- The name of the Class to be processed by each of the
contained Worker processesworkerClassname
- The name of the worker class associated with the GroupworkerInitData
- A list comprising parameters to initialise the workerClassoperation
- The code value identifying the operation to be undertaken
by the Worker processesmodifier
- Contains a possible modifier for the operation, with each Worker
accessing the element that corresponds to the index of the Worker.workers
- The number of Worker processes that will be created
when the Farm is run
Further Author Information, Copyright and License are held in the file \\src\\Copyright and License
Type | Name and description |
---|---|
String |
dataClassName |
ChannelInput |
input |
def |
modifier |
int |
operation |
ChannelOutputList |
outputList |
String |
workerClassName |
def |
workerInitData |
int |
workers |
Constructor and description |
---|
GroupFromAny
() |
GPP - Groovy Parallel Patterns generated test by Jon Kerridge, Edinburgh Napier University - j dot kerridge at napier dot ac dot uk