Package org.jcsp.lang
Class AltingChannelOutputIntSymmetricImpl
java.lang.Object
org.jcsp.lang.Guard
org.jcsp.lang.AltingChannelOutputInt
org.jcsp.lang.AltingChannelOutputIntSymmetricImpl
- All Implemented Interfaces:
ChannelOutputInt
,MultiwaySynchronisation
,Poisonable
class AltingChannelOutputIntSymmetricImpl
extends AltingChannelOutputInt
implements MultiwaySynchronisation
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AltingBarrier
private final ChannelOutputInt
private boolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) boolean
disable()
Disables the guard for selection.(package private) boolean
enable
(Alternative alt) Returns true if the event is ready.boolean
pending()
Returns whether the receiver is committed to read from this channel.void
poison
(int strength) This injects poison into the channel.void
write
(int i) Write an int to the channel.
-
Field Details
-
ab
-
out
-
syncDone
private boolean syncDone
-
-
Constructor Details
-
AltingChannelOutputIntSymmetricImpl
-
-
Method Details
-
enable
Description copied from class:Guard
Returns true if the event is ready. Otherwise, this enables the guard for selection and returns false.Note: this method should only be called by the Alternative class
-
disable
boolean disable()Description copied from class:Guard
Disables the guard for selection. Returns true if the event was ready.Note: this method should only be called by the Alternative class
-
write
public void write(int i) Description copied from interface:ChannelOutputInt
Write an int to the channel.- Specified by:
write
in interfaceChannelOutputInt
- Parameters:
i
- the integer to write to the channel
-
pending
public boolean pending()Description copied from class:AltingChannelOutputInt
Returns whether the receiver is committed to read from this channel.Note: if this returns true, you must commit to write down this channel.
- Specified by:
pending
in classAltingChannelOutputInt
- Returns:
- state of the channel.
-
poison
public void poison(int strength) Description copied from interface:Poisonable
This injects poison into the channel. If the channel was not explicitly constructed to be poisonable or if the strength of poison is not greater than the channel immunity level, the poison will have no effect.- Specified by:
poison
in interfacePoisonable
- Parameters:
strength
- the strength of the poison (must be >= 0).
-