Package org.jcsp.lang

Interface One2OneChannelSymmetric


public interface One2OneChannelSymmetric
This defines the interface for a symmetric one-to-one Object channel. The symmetry relates to the use of its channel ends as guards in an Alternative: both ends may be so used.

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. Only fully synchronising channels are currently supported.

Description

One2OneChannelImpl is an interface for a symmetric one-to-one Object channel. Multiple readers or multiple writers are not allowed.

Both the reading and writing processes may ALT on this channel.

The 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.

These channels may be constructed by the Channel.one2oneSymmetric(). Channel poisoning and buffering are not currently supported for these channels.

Author:
P.H. Welch, N.C.C. Brown
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    in()
    Returns the input channel end.
    out()
    Returns the output channel end.