Package org.jsoup.internal
Class ConstrainableInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.io.BufferedInputStream
org.jsoup.internal.ConstrainableInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final boolean
private static final int
private boolean
private final int
private int
private long
private long
Fields inherited from class java.io.FilterInputStream
in
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
ConstrainableInputStream
(InputStream in, int bufferSize, int maxSize) -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
expired()
int
read
(byte[] b, int off, int len) readToByteBuffer
(int max) Reads this inputstream to a ByteBuffer.void
reset()
timeout
(long startTimeNanos, long timeoutMillis) static ConstrainableInputStream
wrap
(InputStream in, int bufferSize, int maxSize) If this InputStream is not already a ConstrainableInputStream, let it be one.Methods inherited from class java.io.BufferedInputStream
available, close, mark, markSupported, read, skip
Methods inherited from class java.io.FilterInputStream
read
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Field Details
-
DefaultSize
private static final int DefaultSize- See Also:
-
capped
private final boolean capped -
maxSize
private final int maxSize -
startTime
private long startTime -
timeout
private long timeout -
remaining
private int remaining -
interrupted
private boolean interrupted
-
-
Constructor Details
-
ConstrainableInputStream
-
-
Method Details
-
wrap
If this InputStream is not already a ConstrainableInputStream, let it be one.- Parameters:
in
- the input stream to (maybe) wrapbufferSize
- the buffer size to use when readingmaxSize
- the maximum size to allow to be read. 0 == infinite.- Returns:
- a constrainable input stream
-
read
- Overrides:
read
in classBufferedInputStream
- Throws:
IOException
-
readToByteBuffer
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
- Overrides:
reset
in classBufferedInputStream
- Throws:
IOException
-
timeout
-
expired
private boolean expired()
-