The processes are supplied in a number of different variations depending on the nature of the channel connections provided by the process as follows.
Any expects the any end of a channel
List expects a channel list
One expects a one2one channel end
Requested expects a channel pair, one requesting data and the other used to transfer the data
Requesting the opposite end to a Requested end; typically used in cluster based networks
The nature of the process is defined by the central part of the name;
Fan processes one object at a time and in the case of a List output will
write the object to the next list out channel end in sequence
SeqCast outputs a single input value to all the outputs in sequence
ParCast outputs a single input value to all the outputs in parallel
SeqCast and ParCast do not check that all the processes to which the output channels are connected are synchronised, thus to be sure of any required synchronisation the receiving processes should use a Barrier to ensure any required synchronisation is achieved by using a ListGroupList in skeletons.groups.
Author, Licence and Copyright statement author Jon Kerridge School of Computing Edinburgh Napier University Merchiston Campus, Colinton Road Edinburgh EH10 5DT Author contact: j.kerridge (at) napier.ac.uk Copyright Jon Kerridge Edinburgh Napier University * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Class | Description |
---|---|
AnyFanAny | AnyFanAny is used to connect many source processes to many destination process such that any incoming data object will be written to the next process using the output channel. |
AnySeqCastAny | AnySeqCastAny is used to connect many source processes to many destination process such that an incoming data object read from inputAny will be written to all the processes connected to the outputAny channel. |
OneDirectedList | The OneDirectedList process reads a data object from its input channel and depending on the value contained in its indexProperty will write the object to the corresponding element of the channel output list outputLList. |
OneFanAny | OneFanAny is used to connect a source process to any number of destination processes such that an object read from input will be written to the next process that is waiting on outputAny. |
OneFanList | OneFanList is used to connect a source process to any number of destination processes such that objects read from input are output in a circular pattern through the elements of the outputList channels. |
OneFanRequestedAny | OneFanRequestedAny reads a value from the input channel; it then reads a signal from the inRequestAny and then writes the input object to the outResponseAny channel. |
OneIndexedList | The OneDirectedList process reads a data object from its input channel and depending on the value contained in its indexProperty will write the object to the corresponding element of the channel output list outputLList. |
OneParCastList | OneParCastList is used to connect a source process to any number of destination processes such that an object will be read from input and then copied in parallel to all the outputList channels. |
OneSeqCastAny | OneSeqCastAny is used to connect many source processes to many destination process such that an incoming data object read from input will be written to all the processes connected to the outputAny channel. |
OneSeqCastList | OneSeqCastList is used to connect a source process to any number of destination processes such that an object will be read from input and then copied in sequence to all the outputList channels. |
RequestingFanAny | RequestingFanAny writes a signal to the outRequestAny channel; it then reads an object from inResponseAny and then writes the input object to the output channel. |
RequestingFanList | RequestingFanList writes a signal to the outRequestAny channel; it then reads an object from inResponseAny and then writes the input object to the next element of outputList in sequence. |
RequestingParCastList | RequestingParCastList writes a signal to the outRequestAny channel; it then reads an object from inResponseAny and then writes, in parallel, the input object to all the elements of outputList. |
RequestingSeqCastAny | RequestingSeqCastAny writes a signal to the outRequestAny channel; it then reads an object from inResponseAny and then writes the input object to all the processes connected to the outputAny channel. |
RequestingSeqCastList | RequestingSeqCastList writes a signal to the outRequestAny channel; it then reads an object from inResponseAny and then writes, in sequence, the input object to all the elements of outputList. |