Interface SessionOutputBuffer

  • All Known Implementing Classes:
    SessionOutputBufferImpl

    public interface SessionOutputBuffer
    Session output buffer for blocking HTTP/1.1 connections.

    This interface facilitates intermediate buffering of output data streamed out to an output stream and provides provides methods for writing lines of text.

    Since:
    4.0
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int available()
      Returns available space in the buffer.
      int capacity()
      Returns total capacity of the buffer
      void flush​(java.io.OutputStream outputStream)
      Flushes this session buffer and forces any buffered output bytes to be written out.
      HttpTransportMetrics getMetrics()
      Returns HttpTransportMetrics for this session buffer.
      int length()
      Return length data stored in the buffer
      void write​(byte[] b, int off, int len, java.io.OutputStream outputStream)
      Writes len bytes from the specified byte array starting at offset off to this session buffer.
      void write​(byte[] b, java.io.OutputStream outputStream)
      Writes b.length bytes from the specified byte array to this session buffer.
      void write​(int b, java.io.OutputStream outputStream)
      Writes the specified byte to this session buffer.
      void writeLine​(CharArrayBuffer buffer, java.io.OutputStream outputStream)
      Writes characters from the specified char array followed by a line delimiter to this session buffer.
    • Method Detail

      • length

        int length()
        Return length data stored in the buffer
        Returns:
        data length
      • capacity

        int capacity()
        Returns total capacity of the buffer
        Returns:
        total capacity
      • available

        int available()
        Returns available space in the buffer.
        Returns:
        available space.
      • write

        void write​(byte[] b,
                   int off,
                   int len,
                   java.io.OutputStream outputStream)
            throws java.io.IOException
        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.

        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

        void write​(byte[] b,
                   java.io.OutputStream outputStream)
            throws java.io.IOException
        Writes b.length bytes from the specified byte array to this session buffer.
        Parameters:
        b - the data.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • write

        void write​(int b,
                   java.io.OutputStream outputStream)
            throws java.io.IOException
        Writes the specified byte to this session buffer.
        Parameters:
        b - the byte.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • writeLine

        void writeLine​(CharArrayBuffer buffer,
                       java.io.OutputStream outputStream)
                throws java.io.IOException
        Writes characters from the specified char array followed by a line delimiter to this session buffer.

        The choice of a char encoding and line delimiter sequence is up to the specific implementations of this interface.

        Parameters:
        buffer - the buffer containing chars of the line.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • flush

        void flush​(java.io.OutputStream outputStream)
            throws java.io.IOException
        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.
        Throws:
        java.io.IOException - if an I/O error occurs.