Package net.i2p.util

Class TimeoutPipedInputStream

java.lang.Object
java.io.InputStream
java.io.PipedInputStream
net.i2p.util.TimeoutPipedInputStream
All Implemented Interfaces:
Closeable, AutoCloseable

class TimeoutPipedInputStream extends PipedInputStream
Adds setReadTimeout(). Must be used with a TimeoutPipedOutputStream. To support InternalSocket.setSoTimeout(). Package private, not a part of the public API, not for general use.
Since:
0.9.34
  • Constructor Details

    • TimeoutPipedInputStream

      public TimeoutPipedInputStream(int pipeSize)
  • Method Details

    • read

      public int read() throws IOException
      Overrides:
      read in class PipedInputStream
      Throws:
      SocketTimeoutException - if timeout is reached
      IOException
    • setReadTimeout

      public void setReadTimeout(int ms)
      Must be called before blocking read call.
      Parameters:
      ms - less than or equal to zero means forever
    • x_receivedLast

      void x_receivedLast()
      To save state. We have to do this because can't get to closedByWriter in super.
    • close

      public void close() throws IOException
      Overridden to save state. We have to do this because can't get to closedByReader in super
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class PipedInputStream
      Throws:
      IOException