org.apache.http.impl.io

## Class AbstractSessionOutputBuffer

- java.lang.Object
- - org.apache.http.impl.io.AbstractSessionOutputBuffer

All Implemented Interfaces:
  BufferInfo, SessionOutputBuffer

Direct Known Subclasses:
  SocketOutputBuffer

Deprecated.
(4.3) use `SessionOutputBufferImpl`

    @NotThreadSafe
    @Deprecated
    public abstract class AbstractSessionOutputBuffer
    extends Object
    implements SessionOutputBuffer, BufferInfo

Abstract base class for session output buffers that stream data to an arbitrary `OutputStream`. This class buffers small chunks of output data in an internal byte array for optimal output performance. `writeLine(CharArrayBuffer)` and `writeLine(String)` methods of this class use CR-LF as a line delimiter.

Since:
  4.0

### Constructor Summary

Constructors
`` `AbstractSessionOutputBuffer()` Deprecated.
`protected` `AbstractSessionOutputBuffer(OutputStream outstream, int buffersize, Charset charset, int minChunkLimit, CodingErrorAction malformedCharAction, CodingErrorAction unmappableCharAction)` Deprecated.

### Method Summary

Methods
`int` `available()` Deprecated. Returns available space in the buffer.
`int` `capacity()` Deprecated. Returns total capacity of the buffer
`protected HttpTransportMetricsImpl` `createTransportMetrics()` Deprecated.
`void` `flush()` Deprecated. Flushes this session buffer and forces any buffered output bytes to be written out.
`protected void` `flushBuffer()` Deprecated.
`HttpTransportMetrics` `getMetrics()` Deprecated. Returns `HttpTransportMetrics` for this session buffer.
`protected void` `init(OutputStream outstream, int buffersize, HttpParams params)` Deprecated.
`int` `length()` Deprecated. Return length data stored in the buffer
`void` `write(byte[] b)` Deprecated. Writes `b.length` bytes from the specified byte array to this session buffer.
`void` `write(byte[] b, int off, int len)` Deprecated. Writes `len` bytes from the specified byte array starting at offset `off` to this session buffer.
`void` `write(int b)` Deprecated. Writes the specified byte to this session buffer.
`void` `writeLine(CharArrayBuffer charbuffer)` Deprecated. Writes characters from the specified char array followed by a line delimiter to this session buffer.
`void` `writeLine(String s)` Deprecated. Writes characters from the specified string followed by a line delimiter to this session buffer.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### AbstractSessionOutputBuffer

    protected AbstractSessionOutputBuffer(OutputStream outstream,
                               int buffersize,
                               Charset charset,
                               int minChunkLimit,
                               CodingErrorAction malformedCharAction,
                               CodingErrorAction unmappableCharAction)

Deprecated.

#### AbstractSessionOutputBuffer

    public AbstractSessionOutputBuffer()

Deprecated.

### Method Detail

#### init

    protected void init(OutputStream outstream,
            int buffersize,
            HttpParams params)

Deprecated.

#### createTransportMetrics

    protected HttpTransportMetricsImpl createTransportMetrics()

Deprecated.

Since:
  4.1

#### capacity

    public int capacity()

Deprecated.
Description copied from interface: `BufferInfo`
Returns total capacity of the buffer

Specified by:
  `capacity` in interface `BufferInfo`
Returns:
  total capacity
Since:
  4.1

#### length

    public int length()

Deprecated.
Description copied from interface: `BufferInfo`
Return length data stored in the buffer

Specified by:
  `length` in interface `BufferInfo`
Returns:
  data length
Since:
  4.1

#### available

    public int available()

Deprecated.
Description copied from interface: `BufferInfo`
Returns available space in the buffer.

Specified by:
  `available` in interface `BufferInfo`
Returns:
  available space.
Since:
  4.1

#### flushBuffer

    protected void flushBuffer()
                        throws IOException

Deprecated.

Throws:
  `IOException`

#### flush

    public void flush()
               throws IOException

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

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

#### write

    public void write(byte[] b)
               throws IOException

Deprecated.
Description copied from interface: `SessionOutputBuffer`
Writes `b.length` bytes from the specified byte array to this session buffer.

Specified by:
  `write` in interface `SessionOutputBuffer`
Parameters:
  `b` - the data.
Throws:
  `IOException` - if an I/O error occurs.

#### write

    public void write(int b)
               throws IOException

Deprecated.
Description copied from interface: `SessionOutputBuffer`
Writes the specified byte to this session buffer.

Specified by:
  `write` in interface `SessionOutputBuffer`
Parameters:
  `b` - the `byte`.
Throws:
  `IOException` - if an I/O error occurs.

#### writeLine

    public void writeLine(String s)
                   throws IOException

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

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

#### getMetrics

    public HttpTransportMetrics getMetrics()

Deprecated.
Description copied from interface: `SessionOutputBuffer`
Returns `HttpTransportMetrics` for this session buffer.

Specified by:
  `getMetrics` in interface `SessionOutputBuffer`
Returns:
  transport metrics.