Class SessionOutputBufferImpl

    • Constructor Detail

      • SessionOutputBufferImpl

        public SessionOutputBufferImpl​(HttpTransportMetricsImpl metrics,
                                       int buffersize,
                                       int fragementSizeHint,
                                       CharsetEncoder charencoder)
        Creates new instance of SessionOutputBufferImpl.
        Parameters:
        metrics - HTTP transport metrics.
        buffersize - buffer size. Must be a positive number.
        fragementSizeHint - fragment size hint defining a minimal size of a fragment that should be written out directly to the socket bypassing the session buffer. Value 0 disables fragment buffering.
        charencoder - charencoder to be used for encoding HTTP protocol elements. If null simple type cast will be used for char to byte conversion.
    • Method Detail

      • isBound

        public boolean isBound()
      • capacity

        public int capacity()
        Description copied from interface: BufferInfo
        Returns total capacity of the buffer
        Specified by:
        capacity in interface BufferInfo
        Returns:
        total capacity
      • length

        public int length()
        Description copied from interface: BufferInfo
        Return length data stored in the buffer
        Specified by:
        length in interface BufferInfo
        Returns:
        data length
      • available

        public int available()
        Description copied from interface: BufferInfo
        Returns available space in the buffer.
        Specified by:
        available in interface BufferInfo
        Returns:
        available space.
      • flush

        public void flush()
                   throws IOException
        Description copied from interface: SessionOutputBuffer
        Flushes this session buffer and forces any buffered output bytes to be written out. The general contract of flush is that calling it is an indication that, if any bytes previously written have been buffered by the implementation of the output stream, such bytes should immediately be written to their intended destination.
        Specified by:
        flush in interface SessionOutputBuffer
        Throws:
        IOException - if an I/O error occurs.
      • write

        public void write​(byte[] b,
                          int off,
                          int len)
                   throws IOException
        Description copied from interface: SessionOutputBuffer
        Writes len bytes from the specified byte array starting at offset off to this session buffer.

        If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown.

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

        public void writeLine​(String s)
                       throws IOException
        Writes characters from the specified string followed by a line delimiter to this session buffer.

        This method uses CR-LF as a line delimiter.

        Specified by:
        writeLine in interface SessionOutputBuffer
        Parameters:
        s - the line.
        Throws:
        IOException - if an I/O error occurs.
      • writeLine

        public void writeLine​(CharArrayBuffer charbuffer)
                       throws IOException
        Writes characters from the specified char array followed by a line delimiter to this session buffer.

        This method uses CR-LF as a line delimiter.

        Specified by:
        writeLine in interface SessionOutputBuffer
        Parameters:
        charbuffer - the buffer containing chars of the line.
        Throws:
        IOException - if an I/O error occurs.