org.jcsp.lang
Class AltingChannelInputInt

java.lang.Object
  extended by org.jcsp.lang.Guard
      extended by org.jcsp.lang.AltingChannelInputInt
All Implemented Interfaces:
ChannelInputInt, Poisonable

public abstract class AltingChannelInputInt
extends Guard
implements ChannelInputInt

This extends Guard and ChannelInputInt to enable a process to choose between many integer 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

AltingChannelInputInt extends Guard and ChannelInputInt to enable a process to choose between many integer 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 AltingIntExample implements CSProcess {
 
   private final AltingChannelInputInt in0, in1;
   
   public AltingIntExample (final AltingChannelInputInt in0,
                            final AltingChannelInputInt 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:
Guard, Alternative

Constructor Summary
AltingChannelInputInt()
           
 
Method Summary
abstract  boolean pending()
          Returns whether there is data pending on this channel.
 
Methods inherited from class org.jcsp.lang.Guard
schedule
 
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.ChannelInputInt
endRead, read, startRead
 
Methods inherited from interface org.jcsp.lang.Poisonable
poison
 

Constructor Detail

AltingChannelInputInt

public AltingChannelInputInt()
Method Detail

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.


Copyright © 1996-2012. All Rights Reserved.