Interface One2OneChannel<T>
-
- All Known Subinterfaces:
FilteredOne2OneChannel
- All Known Implementing Classes:
BufferedOne2OneChannel
,FilteredOne2OneChannelImpl
,One2OneChannelImpl
,PoisonableBufferedOne2OneChannel
,PoisonableOne2OneChannelImpl
public interface One2OneChannel<T>
This defines the interface for a one-to-one Object channel.The only methods provided are to obtain the ends of the channel, through which all reading and writing operations are done. Only an appropriate channel-end should be plugged into a process – not the whole channel. A process may use its external channels in one direction only – either for writing or reading.
Actual channels conforming to this interface are made using the relevant static construction methods from
Channel
. Channels may besynchronising
,buffered
,poisonable
orboth
(i.e. buffered and poisonable).Description
One2OneChannelImpl is an interface for a one-to-one object channel. Multiple readers or multiple writers are not allowed – these are catered for byAny2OneChannel
,One2AnyChannel
orAny2AnyChannel
.The reading process may
ALT
on this channel. The writing process is committed (i.e. it may not back off).The default semantics of the channel is that of CSP – i.e. it is zero-buffered and fully synchronised. The reading process must wait for a matching writer and vice-versa.
Channel
construct channels with either the default semantics or with buffering to user-specified capacity and a range of blocking/overwriting policies. Various buffering plugins are given in the org.jcsp.util package, but careful users may write their own.The
Channel
methods also provide for the construction ofPoisonable
channels and for arrays of channels.- See Also:
Channel
,Alternative
,Any2OneChannel
,One2AnyChannel
,Any2AnyChannel
,ChannelDataStore
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description AltingChannelInput<T>
in()
Returns the input channel end.ChannelOutput<T>
out()
Returns the output channel end.
-
-
-
Method Detail
-
in
AltingChannelInput<T> in()
Returns the input channel end.
-
out
ChannelOutput<T> out()
Returns the output channel end.
-
-