|
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.Any2AnyChannel
This implements a any-to-any object channel, safe for use by many writers and many readers.
Please note that this is a sefely shared channel and not
a multicaster. Currently, multicasting has to be managed by
writing active processes (see DynamicDelta
for an example of broadcasting).
All reading processes and writing processes 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 a 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
ChannelDataStore
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
,
One2OneChannel
,
Any2OneChannel
,
One2AnyChannel
,
ChannelDataStore
, Serialized FormConstructor Summary | |
Any2AnyChannel()
Constructs a new Any2AnyChannel with a ZeroBuffer ChannelDataStore. |
|
Any2AnyChannel(ChannelDataStore data)
Deprecated. Use Any2AnyChannel.create (ChannelDataStore). |
Method Summary | |
static Any2AnyChannel |
create(ChannelDataStore store)
Creates a Any2AnyChannel using the specified ChannelDataStore. |
static Any2AnyChannel[] |
create(int n)
Creates an array of Any2AnyChannels. |
static Any2AnyChannel[] |
create(int n,
ChannelDataStore store)
Creates an array of Any2AnyChannels using the specified ChannelDataStore. |
Object |
read()
Reads an Object from the channel. |
void |
write(Object value)
Writes an Object to the channel. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Any2AnyChannel()
public Any2AnyChannel(ChannelDataStore data)
data
- The ChannelDataStore used to store the data for the ChannelMethod Detail |
public Object read()
read
in interface ChannelInput
public void write(Object value)
write
in interface ChannelOutput
value
- the object to write to the Channel.public static Any2AnyChannel[] create(int n)
n
- the number of channels to create in the arraypublic static Any2AnyChannel create(ChannelDataStore store)
public static Any2AnyChannel[] create(int n, ChannelDataStore 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 |