org.jcsp.lang
Class AltingChannelOutput
java.lang.Object
org.jcsp.lang.Guard
org.jcsp.lang.AltingChannelOutput
- All Implemented Interfaces:
- ChannelOutput, Poisonable
public abstract class AltingChannelOutput
- extends Guard
- implements ChannelOutput
This extends Guard
and ChannelOutput
to enable a process
to choose between many integer output (and other) events.
A writing-end, obtained only from a symmetric
channel by invoking its out() method, will implement this interface.
Description
AltingChannelOutput extends Guard
and ChannelOutput
to enable a process
to choose between many integer output (and other) events. The methods inherited from
Guard are of no concern to users of this package.
Example
import org.jcsp.lang.*;
public class AltingOutputExample implements CSProcess {
private final AltingChannelOutput out0, out1;
public AltingOutputExample (final AltingChannelOutput out0,
final AltingChannelOutput out1) {
this.out0 = out0;
this.out1 = out1;
}
public void run () {
final Guard[] altChans = {out0, out1};
final Alternative alt = new Alternative (altChans);
while (true) {
switch (alt.select ()) {
case 0:
out0.write (new Integer (0));
System.out.println ("out0 written");
break;
case 1:
out1.write (new Integer (1));
System.out.println ("out1 written");
break;
}
}
}
}
- Author:
- P.H. Welch
- See Also:
Guard
,
Alternative
,
One2OneChannelSymmetric
,
AltingChannelOutputInt
Method Summary |
abstract boolean |
pending()
Returns whether the receiver is committed to read from this channel. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AltingChannelOutput
public AltingChannelOutput()
pending
public abstract boolean pending()
- Returns whether the receiver is committed to read from this channel.
Note: if this returns true, you must commit to write down this channel.
- Returns:
- state of the channel.
Submit a bug or feature to jcsp-team@kent.ac.uk
Version 1.1-rc4 of the JCSP API Specification (Copyright 1997-2008 P.D.Austin and P.H.Welch - All Rights Reserved)
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.