class ChannelInputIntImpl extends java.lang.Object implements ChannelInputInt
Modifier and Type | Field and Description |
---|---|
private ChannelInternalsInt |
channel |
private int |
immunity |
Constructor and Description |
---|
ChannelInputIntImpl(ChannelInternalsInt _channel,
int _immunity) |
Modifier and Type | Method and Description |
---|---|
void |
endRead()
End an extended rendezvous.
|
void |
poison(int strength)
This injects poison into the channel.
|
int |
read()
Read an int from the channel.
|
int |
startRead()
Begin an extended rendezvous read from the channel.
|
private ChannelInternalsInt channel
private int immunity
ChannelInputIntImpl(ChannelInternalsInt _channel, int _immunity)
public void endRead()
ChannelInputInt
startRead
.endRead
in interface ChannelInputInt
public int read()
ChannelInputInt
read
in interface ChannelInputInt
public int startRead()
ChannelInputInt
endRead
.
Only then will the writer be released (from its
write
method).
The writer is unaware of the extended nature of the communication.
The reader process must call
at some point after this function, otherwise the writer will not
be freed and deadlock will probably follow.
endRead
The reader process may perform any actions between calling
and
startRead
, including communications
on other channels. Further communications on this channel, of course,
should not be made.
endRead
An extended rendezvous may be started after the channel's Guard
has been selected by an Alternative
(i.e.
instead of
startRead
).read
startRead
in interface ChannelInputInt
public void poison(int strength)
Poisonable
poison
in interface Poisonable
strength
- the strength of the poison (must be >= 0).