Class TailInt

  • All Implemented Interfaces:
    CSProcess

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

    Process Diagram

    The output stream is the tail of its input stream.

    Description

    The first integer (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 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 () {
         in.read ();                           // accept, but discard, the first item
         new IdentityInt (in, out).run ();     // copy the rest of the stream
       }
     
    Author:
    P.H. Welch and P.D. Austin
    • Constructor Summary

      Constructors 
      Constructor Description
      TailInt​(ChannelInputInt in, ChannelOutputInt out)
      Construct a new TailInt process with the input Channel in and the output Channel out.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void run()
      The main body of this process.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TailInt

        public TailInt​(ChannelInputInt in,
                       ChannelOutputInt out)
        Construct a new TailInt process with the input Channel in and the output Channel out.
        Parameters:
        in - the input Channel
        out - the output Channel
    • Method Detail

      • run

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