Package org.jcsp.lang
Class AltingChannelInputWrapper<T>
java.lang.Object
org.jcsp.lang.Guard
org.jcsp.lang.AltingChannelInput<T>
org.jcsp.lang.AltingChannelInputWrapper<T>
- All Implemented Interfaces:
ChannelInput<T>
,Poisonable
- Direct Known Subclasses:
FilteredAltingChannelInput
,NetAltingChannelInput
,NetAltingChannelInput
Deprecated.
There is no longer any need to use this class, after the 1.1 class reorganisation.
Note that usually you do not need the absolute guarantee that this class
provides - you can usually just cast the channel to an AltingChannelInput,
which prevents you from accidentally writing to the channel. This
class mainly exists for use by some of the org.jcsp.net classes, where the
absolute guarantee that you cannot write to it is important.
This class wraps an ALTable channel so that only the reading part is
available to the caller. Writes are impossible unless you subclass
this (and use getChannel()) or keep a reference to the original
channel.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AltingChannelInput<T>
Deprecated.The real channel which this object wraps. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Deprecated.This constructor does not wrap a channel.AltingChannelInputWrapper
(AltingChannelInput<T> channel) Deprecated.Creates a new AltingChannelInputWrapper which wraps the specified channel. -
Method Summary
Modifier and TypeMethodDescription(package private) boolean
disable()
Deprecated.Disables the guard for selection.(package private) boolean
enable
(Alternative alt) Deprecated.Returns true if the event is ready.void
endRead()
Deprecated.Ends an extended rendezvousprotected AltingChannelInput
Deprecated.Get the real channel.boolean
pending()
Deprecated.Returns whether there is data pending on this channel.void
poison
(int strength) Deprecated.This injects poison into the channel.read()
Deprecated.Read an Object from the channel.protected void
setChannel
(AltingChannelInput<T> chan) Deprecated.Sets the real channel to be used.Deprecated.Begins an extended rendezvous
-
Field Details
-
channel
Deprecated.The real channel which this object wraps. This used to be a final field but this caused problems when sub-classes wanted to be serializable. Added a protected mutator.
-
-
Constructor Details
-
AltingChannelInputWrapper
Deprecated.Creates a new AltingChannelInputWrapper which wraps the specified channel. -
AltingChannelInputWrapper
protected AltingChannelInputWrapper()Deprecated.This constructor does not wrap a channel. The underlying channel can be set by callingsetChannel(AltingChannelInput)
.
-
-
Method Details
-
getChannel
Deprecated.Get the real channel.- Returns:
- The real channel.
-
setChannel
Deprecated.Sets the real channel to be used.- Parameters:
chan
- the real channel to be used.
-
read
Deprecated.Read an Object from the channel.- Returns:
- the object read from the channel
-
startRead
Deprecated.Begins an extended rendezvous- Returns:
- The object read from the channel
- See Also:
-
ChannelInput.startRead
-
endRead
public void endRead()Deprecated.Ends an extended rendezvous- See Also:
-
ChannelInput.endRead
-
pending
public boolean pending()Deprecated.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.
- Specified by:
pending
in classAltingChannelInput<T>
- Returns:
- state of the channel.
-
enable
Deprecated.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()Deprecated.Disables the guard for selection. Returns true if the event was ready.Note: this method should only be called by the Alternative class
-
poison
public void poison(int strength) Deprecated.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.- Parameters:
strength
- the strength of the poison (must be >= 0).
-