Package org.jcsp.lang

Interface ChannelOutputInt

  • All Superinterfaces:
    Poisonable
    All Known Subinterfaces:
    SharedChannelOutputInt
    All Known Implementing Classes:
    AltingChannelOutputInt, AltingChannelOutputIntSymmetricImpl, BlackHoleChannelInt, ChannelOutputIntImpl, SharedChannelOutputIntImpl

    public interface ChannelOutputInt
    extends Poisonable
    This defines the interface for writing to integer channels.

    A writing-end, conforming to this interface, is obtained from a channel by invoking its out() method.

    Description

    ChannelOutputInt defines the interface for writing to integer channels. The interface contains only one method - write(int o). This method will block the calling process until the int has been accepted by the channel. In the (default) case of a zero-buffered synchronising CSP channel, this happens only when a process at the other end of the channel invokes (or has already invoked) a read().

    ChannelOutputInt variables are used to hold integer channels that are going to be used only for output by the declaring process. This is a security matter -- by declaring a ChannelOutputInt interface, any attempt to input from the channel will generate a compile-time error. For example, the following code fragment will not compile:

     int doRead (ChannelOutputInt c) {
       return c.read ();   // illegal
     }
     
    When configuring a CSProcess with output integer channels, they should be declared as ChannelOutputInt variables. The actual channel passed, of course, may belong to any channel class that implements ChannelOutputInt.

    Example

     void doWrite (ChannelOutputInt c, int i) {
       c.write (i);
     }
     
    See Also:
    SharedChannelOutputInt, ChannelInputInt
    • Method Detail

      • write

        void write​(int i)
        Write an int to the channel.
        Parameters:
        i - the integer to write to the channel