Class PrefixInt

java.lang.Object
org.jcsp.plugNplay.ints.PrefixInt
All Implemented Interfaces:
CSProcess

public final class PrefixInt extends Object implements CSProcess
Prefixes a user-supplied integer to the int stream flowing through.

Process Diagram

Description

This is a process which first outputs a given integer and then copies its input stream of integers to its output stream.

One output is gererated before any input but, thereafter, one output is produced for each input.

Channel Protocols

Input Channels
in int All channels in this package carry integers.
Output Channels
out int All channels in this package carry integers.

Implementation Note

The implementation uses an IdentityInt process for the copy loop:
   public void run () {
     out.write (n);                        // prefix the given integer to the stream
     new IdentityInt (in, out).run ();     // copy the stream
   }
 
  • Field Details

    • in

      private final ChannelInputInt in
      The input Channel
    • out

      private final ChannelOutputInt out
      The output Channel
    • n

      private final int n
      The initial int to be sent down the Channel.
  • Constructor Details

    • PrefixInt

      public PrefixInt(int n, ChannelInputInt in, ChannelOutputInt out)
      Construct a new PrefixInt process with the input Channel in and the output Channel out.
      Parameters:
      n - the initial int to be sent down the Channel.
      in - the input Channel
      out - the output Channel
  • Method Details

    • run

      public void run()
      The main body of this process.
      Specified by:
      run in interface CSProcess