Package org.jcsp.lang

# Interface One2OneChannelInt

public interface One2OneChannelInt
This defines the interface for a one-to-one integer 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 be `synchronising`, `buffered`, `poisonable` or `both` (i.e. buffered and poisonable).

## Description

`One2OneChannelInt` is an interface for a one-to-one integer channel. Multiple readers or multiple writers are not allowed – these are catered for by `Any2OneChannelInt`, `One2AnyChannelInt` or `Any2AnyChannelInt`.

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.

The `static` methods of `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 of `Poisonable` channels and for arrays of channels.

Author:
  P.D. Austin, P.H. Welch
See Also:
  - `Channel`
  - `Alternative`
  - `Any2OneChannelInt`
  - `One2AnyChannelInt`
  - `Any2AnyChannelInt`
  - `ChannelDataStoreInt`

## Method Summary

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

## Method Details

### in

AltingChannelInputInt in()
Returns the input end of the channel.

### out

ChannelOutputInt out()
Returns the output end of the channel.