Class SharedInputBuffer

    • Field Detail

      • initialBufferSize

        private final int initialBufferSize
      • capacityIncrement

        private final java.util.concurrent.atomic.AtomicInteger capacityIncrement
    • Constructor Detail

      • SharedInputBuffer

        public SharedInputBuffer​(java.util.concurrent.locks.ReentrantLock lock,
                                 int initialBufferSize)
      • SharedInputBuffer

        public SharedInputBuffer​(int bufferSize)
    • Method Detail

      • fill

        public int fill​(java.nio.ByteBuffer src)
      • incrementCapacity

        private void incrementCapacity()
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • updateCapacity

        public void updateCapacity​(CapacityChannel capacityChannel)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • awaitInput

        private void awaitInput()
                         throws java.io.InterruptedIOException
        Throws:
        java.io.InterruptedIOException
      • 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.
      • markEndStream

        public void markEndStream()