Class NonBlocking.NonBlockingInputStreamReader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Readable
    Enclosing class:
    NonBlocking

    private static class NonBlocking.NonBlockingInputStreamReader
    extends NonBlockingReader
    • Field Detail

      • decoder

        private final java.nio.charset.CharsetDecoder decoder
      • bytes

        private final java.nio.ByteBuffer bytes
      • chars

        private final java.nio.CharBuffer chars
    • Constructor Detail

      • NonBlockingInputStreamReader

        public NonBlockingInputStreamReader​(NonBlockingInputStream inputStream,
                                            java.nio.charset.Charset encoding)
      • NonBlockingInputStreamReader

        public NonBlockingInputStreamReader​(NonBlockingInputStream input,
                                            java.nio.charset.CharsetDecoder decoder)
    • Method Detail

      • read

        protected int read​(long timeout,
                           boolean isPeek)
                    throws java.io.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:
        java.io.IOException - if anything wrong happens
      • readBuffered

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

        public void shutdown()
        Description copied from class: NonBlockingReader
        Shuts down the thread that is handling blocking I/O. Note that if the thread is currently blocked waiting for I/O it will not actually shut down until the I/O is received.
        Overrides:
        shutdown in class NonBlockingReader
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class java.io.Reader
        Throws:
        java.io.IOException