Class SharedInputBuffer

    • Field Detail

      • lock

        private final java.util.concurrent.locks.ReentrantLock lock
      • condition

        private final java.util.concurrent.locks.Condition condition
      • ioControl

        private volatile IOControl ioControl
      • shutdown

        private volatile boolean shutdown
      • endOfStream

        private volatile boolean endOfStream
    • Method Detail

      • consumeContent

        public int consumeContent​(ContentDecoder decoder,
                                  IOControl ioControl)
                           throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        4.3
      • hasData

        public boolean hasData()
        Description copied from class: ExpandableBuffer
        Determines if the buffer contains data.
        Overrides:
        hasData in class ExpandableBuffer
        Returns:
        true if there is data in the buffer, false otherwise.
      • waitForData

        protected void waitForData()
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • close

        public void close()
      • shutdown

        public void shutdown()
      • isShutdown

        protected boolean isShutdown()
      • isEndOfStream

        protected boolean isEndOfStream()
      • read

        public int read()
                 throws java.io.IOException
        Description copied from interface: ContentInputBuffer
        Reads one byte from this buffer. If the buffer is empty this method can throw a runtime exception. The exact type of runtime exception thrown by this method depends on implementation. This method returns -1 if the end of content stream has been reached.
        Specified by:
        read in interface ContentInputBuffer
        Returns:
        one byte
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws java.io.IOException
        Description copied from interface: ContentInputBuffer
        Reads up to len bytes of data from this buffer into an array of bytes. The exact number of bytes read depends how many bytes are stored in the buffer.

        If off is negative, or len is negative, or off+len is greater than the length of the array b, this method can throw a runtime exception. The exact type of runtime exception thrown by this method depends on implementation. This method returns -1 if the end of content stream has been reached.

        Specified by:
        read in interface ContentInputBuffer
        Parameters:
        b - the buffer into which the data is read.
        off - the start offset in array b at which the data is written.
        len - the maximum number of bytes to read.
        Returns:
        the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • read

        public int read​(byte[] b)
                 throws java.io.IOException
        Throws:
        java.io.IOException