Class SharedOutputBuffer

    • Field Detail

      • hasCapacity

        private volatile boolean hasCapacity
      • endStreamPropagated

        private volatile boolean endStreamPropagated
    • Constructor Detail

      • SharedOutputBuffer

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

        public SharedOutputBuffer​(int bufferSize)
    • Method Detail

      • flush

        public void flush​(DataStreamChannel channel)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • ensureNotAborted

        private void ensureNotAborted()
                               throws java.io.InterruptedIOException
        Throws:
        java.io.InterruptedIOException
      • write

        public void write​(byte[] b,
                          int off,
                          int len)
                   throws java.io.IOException
        Description copied from interface: ContentOutputBuffer
        Writes len bytes from the specified byte array starting at offset off to this 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.

        Specified by:
        write in interface ContentOutputBuffer
        Parameters:
        b - the data.
        off - the start offset in the data.
        len - the number of bytes to write.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • write

        public void write​(int b)
                   throws java.io.IOException
        Description copied from interface: ContentOutputBuffer
        Writes the specified byte to this buffer.
        Specified by:
        write in interface ContentOutputBuffer
        Parameters:
        b - the byte.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • writeCompleted

        public void writeCompleted()
                            throws java.io.IOException
        Description copied from interface: ContentOutputBuffer
        Indicates the content has been fully written.
        Specified by:
        writeCompleted in interface ContentOutputBuffer
        Throws:
        java.io.IOException - if an I/O error occurs.
      • waitFlush

        private void waitFlush()
                        throws java.io.InterruptedIOException
        Throws:
        java.io.InterruptedIOException
      • propagateEndStream

        private void propagateEndStream()
                                 throws java.io.IOException
        Throws:
        java.io.IOException