|
CSP for Java (JCSP) 1.0-rc4 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--jcsp.lang.One2AnyChannelInt
This implements a one-to-any integer channel, safe for use by one writer and many readers.
Please note that this is a safely shared channel and not
a broadcaster. Currently, broadcasting has to be managed by
writing active processes (see DynamicDeltaInt
for an example).
All reading processes and the writing process commit to the channel
(i.e. may not back off). This means that the reading processes
may not ALT
on this channel.
The default semantics of the channel is that of CSP -- i.e. it is zero-buffered and fully synchronised. A reading process must wait for the matching writer and vice-versa.
However, the static create method allows the user to create
a channel with a plug-in driver conforming to the
ChannelDataStoreInt
interface. This allows a variety of different channel semantics to be
introduced -- including buffered channels of user-defined capacity
(including infinite), overwriting channels (with various overwriting
policies) etc..
Standard examples are given in the jcsp.util package, but
careful users may write their own.
Other static create methods allows the user to create fully initialised arrays of channels, including plug-ins if required.
Alternative
,
One2OneChannelInt
,
Any2OneChannelInt
,
Any2AnyChannelInt
,
ChannelDataStoreInt
, Serialized FormConstructor Summary | |
One2AnyChannelInt()
Constructs a new One2AnyChannelInt with a ZeroBufferInt ChannelDataStoreInt. |
|
One2AnyChannelInt(ChannelDataStoreInt data)
Deprecated. Use One2AnyChannelInt.create (ChannelDataStoreInt). |
Method Summary | |
static One2AnyChannelInt |
create(ChannelDataStoreInt store)
Creates a One2AnyChannelInt using the specified ChannelDataStoreInt. |
static One2AnyChannelInt[] |
create(int n)
Creates an array of One2AnyChannelInts. |
static One2AnyChannelInt[] |
create(int n,
ChannelDataStoreInt store)
Creates an array of One2AnyChannelInts using the specified ChannelDataStoreInt. |
int |
read()
Reads an int from the channel. |
void |
write(int value)
Writes an int to the channel. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public One2AnyChannelInt()
public One2AnyChannelInt(ChannelDataStoreInt data)
data
- The ChannelDataStoreInt used to store the data for the ChannelMethod Detail |
public int read()
read
in interface ChannelInputInt
public void write(int value)
write
in interface ChannelOutputInt
value
- the integer to write to the channel.public static One2AnyChannelInt[] create(int n)
n
- the number of channels to create in the arraypublic static One2AnyChannelInt create(ChannelDataStoreInt store)
public static One2AnyChannelInt[] create(int n, ChannelDataStoreInt store)
n
- the number of channels to create in the array
|
CSP for Java (JCSP) 1.0-rc4 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |