Package org.jline.utils
Class NonBlockingInputStream
java.lang.Object
java.io.InputStream
org.jline.utils.NonBlockingInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
NonBlockingInputStreamImpl
,NonBlockingPumpInputStream
Non blocking input stream
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
peek
(long timeout) Peeks to see if there is a byte waiting in the input stream without actually consuming the byte.int
read()
Reads the next byte of data from the input stream.int
read
(byte[] b, int off, int len) int
read
(long timeout) Attempts to read a character from the input stream for a specific period of time.abstract int
read
(long timeout, boolean isPeek) int
readBuffered
(byte[] b) int
readBuffered
(byte[] b, int off, int len, long timeout) int
readBuffered
(byte[] b, long timeout) void
shutdown()
Shuts down the thread that is handling blocking I/O if any.Methods inherited from class java.io.InputStream
available, close, mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
-
Field Details
-
EOF
public static final int EOF- See Also:
-
READ_EXPIRED
public static final int READ_EXPIRED- See Also:
-
-
Constructor Details
-
NonBlockingInputStream
public NonBlockingInputStream()
-
-
Method Details
-
read
Reads the next byte of data from the input stream. The value byte is returned as anint
in the range0
to255
. If no byte is available because the end of the stream has been reached, the value-1
is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.- Specified by:
read
in classInputStream
- Returns:
- the next byte of data, or
-1
if the end of the stream is reached. - Throws:
IOException
- if an I/O error occurs.
-
peek
Peeks to see if there is a byte waiting in the input stream without actually consuming the byte.- Parameters:
timeout
- The amount of time to wait, 0 == forever- Returns:
- -1 on eof, -2 if the timeout expired with no available input or the character that was read (without consuming it).
- Throws:
IOException
- if an I/O error occurs.
-
read
Attempts to read a character from the input stream for a specific period of time.- Parameters:
timeout
- The amount of time to wait for the character- Returns:
- The character read, -1 if EOF is reached, or -2 if the read timed out.
- Throws:
IOException
- if an I/O error occurs.
-
read
- Overrides:
read
in classInputStream
- Throws:
IOException
-
readBuffered
- Throws:
IOException
-
readBuffered
- Throws:
IOException
-
readBuffered
- Throws:
IOException
-
shutdown
public void shutdown()Shuts down the thread that is handling blocking I/O if any. Note that if the thread is currently blocked waiting for I/O it may not actually shut down until the I/O is received. -
read
- Throws:
IOException
-