Interface SessionOutputBuffer

All Known Implementing Classes:
AbstractSessionOutputBuffer, LoggingSessionOutputBuffer, SessionOutputBufferImpl, SocketOutputBuffer

public interface SessionOutputBuffer
Session output buffer for blocking connections. This interface is similar to OutputStream class, but it also provides methods for writing lines of text.

Implementing classes are also expected to manage intermediate data buffering for optimal output performance.

Since:
4.0
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Flushes this session buffer and forces any buffered output bytes to be written out.
    Returns HttpTransportMetrics for this session buffer.
    void
    write(byte[] b)
    Writes b.length bytes from the specified byte array to this session buffer.
    void
    write(byte[] b, int off, int len)
    Writes len bytes from the specified byte array starting at offset off to this session buffer.
    void
    write(int b)
    Writes the specified byte to this session buffer.
    void
    Writes characters from the specified string followed by a line delimiter to this session buffer.
    void
    Writes characters from the specified char array followed by a line delimiter to this session buffer.
  • Method Details

    • write

      void write(byte[] b, int off, int len) throws 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:
      IOException - if an I/O error occurs.
    • write

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

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

      void writeLine(String s) throws IOException
      Writes characters from the specified string 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:
      s - the line.
      Throws:
      IOException - if an I/O error occurs.
    • writeLine

      void writeLine(CharArrayBuffer buffer) throws 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:
      IOException - if an I/O error occurs.
    • flush

      void flush() throws 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:
      IOException - if an I/O error occurs.
    • getMetrics

      HttpTransportMetrics getMetrics()
      Returns HttpTransportMetrics for this session buffer.
      Returns:
      transport metrics.