Class I2PTunnelRunner

All Implemented Interfaces:
Runnable, I2PSocket.SocketErrorListener
Direct Known Subclasses:
I2PTunnelHTTPClientRunner

public class I2PTunnelRunner
extends I2PAppThread
implements I2PSocket.SocketErrorListener
A thread that starts two more threads, one to forward traffic in each direction. Warning - not maintained as a stable API for external use.
  • Field Details

    • _log

      protected final Log _log
    • MAX_PACKET_SIZE

      static int MAX_PACKET_SIZE
      max bytes streamed in a packet - smaller ones might be filled up to this size. Larger ones are not split (at least not on Sun's impl of BufferedOutputStream), but that is the streaming api's job...
    • NETWORK_BUFFER_SIZE

      static final int NETWORK_BUFFER_SIZE
  • Constructor Details

    • I2PTunnelRunner

      @Deprecated public I2PTunnelRunner​(Socket s, I2PSocket i2ps, Object slock, byte[] initialI2PData, List<I2PSocket> sockList)
      Deprecated.
      use FailCallback constructor
      Starts itself
      Parameters:
      slock - the socket lock, non-null
      initialI2PData - may be null
      sockList - may be null. Caller must add i2ps to the list! It will be removed here on completion. Will synchronize on slock when removing.
    • I2PTunnelRunner

      @Deprecated public I2PTunnelRunner​(Socket s, I2PSocket i2ps, Object slock, byte[] initialI2PData, byte[] initialSocketData, List<I2PSocket> sockList)
      Deprecated.
      use FailCallback constructor
      Starts itself
      Parameters:
      slock - the socket lock, non-null
      initialI2PData - may be null
      initialSocketData - may be null
      sockList - may be null. Caller must add i2ps to the list! It will be removed here on completion. Will synchronize on slock when removing.
    • I2PTunnelRunner

      @Deprecated public I2PTunnelRunner​(Socket s, I2PSocket i2ps, Object slock, byte[] initialI2PData, List<I2PSocket> sockList, Runnable onTimeout)
      Deprecated.
      use FailCallback constructor
      Starts itself
      Parameters:
      slock - the socket lock, non-null
      initialI2PData - may be null
      sockList - may be null. Caller must add i2ps to the list! It will be removed here on completion. Will synchronize on slock when removing.
      onTimeout - May be null. If non-null and no data (except initial data) was received, it will be run before closing s.
    • I2PTunnelRunner

      @Deprecated public I2PTunnelRunner​(Socket s, I2PSocket i2ps, Object slock, byte[] initialI2PData, byte[] initialSocketData, List<I2PSocket> sockList, Runnable onTimeout)
      Deprecated.
      use FailCallback constructor
      Starts itself
      Parameters:
      slock - the socket lock, non-null
      initialI2PData - may be null
      initialSocketData - may be null
      sockList - may be null. Caller must add i2ps to the list! It will be removed here on completion. Will synchronize on slock when removing.
      onTimeout - May be null. If non-null and no data (except initial data) was received, it will be run before closing s.
    • I2PTunnelRunner

      public I2PTunnelRunner​(Socket s, I2PSocket i2ps, Object slock, byte[] initialI2PData, byte[] initialSocketData, List<I2PSocket> sockList, I2PTunnelRunner.FailCallback onFail)
      Recommended new constructor. Does NOT start itself. Caller must call start().
      Parameters:
      slock - the socket lock, non-null
      initialI2PData - may be null
      initialSocketData - may be null
      sockList - may be null. Caller must add i2ps to the list! It will be removed here on completion. Will synchronize on slock when removing.
      onFail - May be null. If non-null and no data (except initial data) was received, it will be run before closing s.
  • Method Details