- org.jcsp.lang.AltingChannelInput
-
- All Implemented Interfaces and Traits:
- ChannelInput
public abstract class AltingChannelInput
extends Guard
This extends Guard and ChannelInput
to enable a process to choose between many object input (and other) events.
Description
AltingChannelInput extends Guard and ChannelInput
to enable a process
to choose between many object input (and other) events. The methods inherited from
Guard are of no concern to users of this package.
Example
import org.jcsp.lang.*;
public class AltingExample implements CSProcess {
private final AltingChannelInput in0, in1;
public AltingExample (final AltingChannelInput in0,
final AltingChannelInput in1) {
this.in0 = in0;
this.in1 = in1;
}
public void run () {
final Guard[] altChans = {in0, in1};
final Alternative alt = new Alternative (altChans);
while (true) {
switch (alt.select ()) {
case 0:
System.out.println ("in0 read " + in0.read ());
break;
case 1:
System.out.println ("in1 read " + in1.read ());
break;
}
}
}
}
- See Also:
- Guard
- Alternative
- Authors:
- P.D.Austin and P.H.Welch
-
-
Methods Summary
Methods
Type |
Name and description |
boolean |
pending() Returns whether there is data pending on this channel.
|
-
Inherited Methods Summary
Inherited Methods
Methods inherited from class |
Name |
class Guard |
schedule |
-
-
Method Detail
-
public boolean pending()
Returns whether there is data pending on this channel.
Note: if there is, it won't go away until you read it. But if there
isn't, there may be some by the time you check the result of this method.
- Returns:
- state of the channel.
- Summary:
Nested Field Constructor - Method
- | Detail:
Field Constructor - Method
JCSP for Java 1.8 generated 14-10-2016 by Jon Kerridge, Edinburgh Napier University - j dot kerridge at napier dot ac dot uk