Class StreamForwarder

  • All Implemented Interfaces:
    java.lang.Runnable

    public class StreamForwarder
    extends java.lang.Thread
    A StreamForwarder forwards data between two given streams. If two StreamForwarder threads are used (one for each direction) then one can be configured to shutdown the underlying channel/socket if both threads have finished forwarding (EOF).
    Version:
    $Id: StreamForwarder.java,v 1.1 2007/10/15 12:49:56 cplattne Exp $
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.lang.Thread

        java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) byte[] buffer  
      (package private) Channel c  
      (package private) java.io.InputStream is  
      (package private) java.lang.String mode  
      (package private) java.io.OutputStream os  
      (package private) java.net.Socket s  
      (package private) StreamForwarder sibling  
      • Fields inherited from class java.lang.Thread

        MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
    • Constructor Summary

      Constructors 
      Constructor Description
      StreamForwarder​(Channel c, StreamForwarder sibling, java.net.Socket s, java.io.InputStream is, java.io.OutputStream os, java.lang.String mode)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void run()  
      • Methods inherited from class java.lang.Thread

        activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • os

        java.io.OutputStream os
      • is

        java.io.InputStream is
      • buffer

        byte[] buffer
      • s

        java.net.Socket s
      • mode

        java.lang.String mode
    • Constructor Detail

      • StreamForwarder

        StreamForwarder​(Channel c,
                        StreamForwarder sibling,
                        java.net.Socket s,
                        java.io.InputStream is,
                        java.io.OutputStream os,
                        java.lang.String mode)
                 throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        Overrides:
        run in class java.lang.Thread