org.apache.http.io

## Interface SessionOutputBuffer

- All Known Implementing Classes:
    AbstractSessionOutputBuffer, 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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `flush()` Flushes this session buffer and forces any buffered output bytes to be written out.
    `HttpTransportMetrics` | `getMetrics()` 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` | `writeLine(CharArrayBuffer buffer)` Writes characters from the specified char array followed by a line delimiter to this session buffer.
    `void` | `writeLine(String s)` Writes characters from the specified string followed by a line delimiter to this session buffer.

- - ### Method Detail

    - #### 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.

Copyright © 2005–2013 The Apache Software Foundation. All rights reserved.