Class Tail

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

public final class Tail extends Object implements CSProcess
The output stream is the tail of its input stream.

Process Diagram

Description

The first Object (i.e. head) of its input stream is not forwarded. The rest (i.e. tail) is copied through unchanged.

Two inputs are needed before any output is produced but, thereafter, one output is produced for each input.

Channel Protocols

Input Channels
in java.lang.Object The in Channel can accept data of any Class.
Output Channels
out java.lang.Object The out Channel will send data of the same type as that sent down the in Channel.

Implementation Note

The implementation uses an Identity process for the copy loop:
   public void run () {
     in.read ();                        // accept, but discard, the first item
     new Identity (in, out).run ();     // copy the rest of the stream
   }
 
Author:
P.H. Welch and P.D. Austin
  • Constructor Details

    • Tail

      public Tail(ChannelInput in, ChannelOutput out)
      Construct a new Tail process with the input Channel in and the output Channel out.
      Parameters:
      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