Class ConstrainableInputStream

All Implemented Interfaces:
Closeable, AutoCloseable

public final class ConstrainableInputStream extends BufferedInputStream
A jsoup internal class (so don't use it as there is no contract API) that enables constraints on an Input Stream, namely a maximum read size, and the ability to Thread.interrupt() the read.
  • Method Details

    • wrap

      public static ConstrainableInputStream wrap(InputStream in, int bufferSize, int maxSize)
      If this InputStream is not already a ConstrainableInputStream, let it be one.
      Parameters:
      in - the input stream to (maybe) wrap
      bufferSize - the buffer size to use when reading
      maxSize - the maximum size to allow to be read. 0 == infinite.
      Returns:
      a constrainable input stream
    • read

      public int read(byte[] b, int off, int len) throws IOException
      Overrides:
      read in class BufferedInputStream
      Throws:
      IOException
    • readToByteBuffer

      public ByteBuffer readToByteBuffer(int max) throws IOException
      Reads this inputstream to a ByteBuffer. The supplied max may be less than the inputstream's max, to support reading just the first bytes.
      Throws:
      IOException
    • reset

      public void reset() throws IOException
      Overrides:
      reset in class BufferedInputStream
      Throws:
      IOException
    • timeout

      public ConstrainableInputStream timeout(long startTimeNanos, long timeoutMillis)