Package org.jcsp.lang
Class AltingChannelInput
java.lang.Object
org.jcsp.lang.Guard
org.jcsp.lang.AltingChannelInput
- All Implemented Interfaces:
ChannelInput
,Poisonable
- Direct Known Subclasses:
AltingChannelInputWrapper
,RejectableAltingChannelInput
This extends
Guard
and ChannelInput
to enable a process to choose between many object input (and other) events.
A reading-end, obtained from a one-one or any-one channel by invoking its in() method, will extend this abstract class.
Description
AltingChannelInput extendsGuard
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; } } } }
- Author:
- P.D. Austin and P.H. Welch
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract boolean
pending()
Returns whether there is data pending on this channel.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jcsp.lang.ChannelInput
endRead, read, startRead
Methods inherited from interface org.jcsp.lang.Poisonable
poison
-
Constructor Details
-
AltingChannelInput
public AltingChannelInput()
-
-
Method Details
-
pending
public abstract 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.
-