Class NonBlocking.NonBlockingInputStreamReader

java.lang.Object
java.io.Reader
org.jline.utils.NonBlockingReader
org.jline.utils.NonBlocking.NonBlockingInputStreamReader
All Implemented Interfaces:
Closeable, AutoCloseable, Readable
Enclosing class:
NonBlocking

private static class NonBlocking.NonBlockingInputStreamReader extends NonBlockingReader
  • Field Details

  • Constructor Details

  • Method Details

    • read

      protected int read(long timeout, boolean isPeek) throws IOException
      Description copied from class: NonBlockingReader
      Attempts to read a character from the input stream for a specific period of time.
      Specified by:
      read in class NonBlockingReader
      Parameters:
      timeout - The amount of time to wait for the character
      isPeek - trueif the character read must not be consumed
      Returns:
      The character read, -1 if EOF is reached, or -2 if the read timed out.
      Throws:
      IOException - if anything wrong happens
    • readBuffered

      public int readBuffered(char[] b, int off, int len, long timeout) throws IOException
      Specified by:
      readBuffered in class NonBlockingReader
      Throws:
      IOException
    • shutdown

      public void shutdown()
      Description copied from class: NonBlockingReader
      Shuts down the thread that is handling blocking I/O.

      This method terminates the background thread that is used to handle blocking I/O operations. This allows the application to clean up resources and prevent thread leaks when the reader is no longer needed.

      Note that if the thread is currently blocked waiting for I/O, it will not actually shut down until the I/O is received or the thread is interrupted. In some implementations, this method may interrupt the thread to force it to shut down immediately.

      After calling this method, the reader should not be used anymore, as subsequent read operations may fail or block indefinitely.

      Overrides:
      shutdown in class NonBlockingReader
    • close

      public void close() throws IOException
      Description copied from class: NonBlockingReader
      Closes this reader and marks it as closed.

      Subsequent read operations behavior depends on the PROP_CLOSE_MODE setting:

      • "strict" - Throw ClosedException
      • "warn" - Log a warning but continue (default in JLine 3.x)
      • "lenient" - Silently allow access
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class NonBlockingReader
      Throws:
      IOException - if an I/O error occurs