Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.coyote.http11
Class AbstractOutputBuffer<S>

    java.lang.Object
      org.apache.coyote.http11.AbstractOutputBuffer<S>

All Implemented Interfaces:
  OutputBuffer

Direct Known Subclasses:
  InternalAprOutputBuffer, InternalNioOutputBuffer, InternalOutputBuffer

    public abstract class AbstractOutputBuffer<S>

extends Object
implements OutputBuffer

Field Summary
`protected OutputFilter[]` | `activeFilters` Active filter (which is actually the top of the pipeline).
`protected byte[]` | `buf` The buffer used for header composition.
`protected long` | `byteCount` Bytes written to client for the current request
`protected boolean` | `committed` Committed flag.
`protected OutputFilter[]` | `filterLibrary` Filter library.
`protected boolean` | `finished` Finished flag.
`protected int` | `lastActiveFilter` Index of the last active filter.
`protected OutputBuffer` | `outputStreamOutputBuffer` Underlying output buffer.
`protected int` | `pos` Position in the buffer.
`protected Response` | `response` Associated Coyote response.
`protected static StringManager` | `sm` The string manager for this package.

Constructor Summary
`AbstractOutputBuffer()`

Method Summary
`void` | `addActiveFilter(OutputFilter filter)` Add an output filter to the filter library.
`void` | `addFilter(OutputFilter filter)` Add an output filter to the filter library.
`protected abstract void` | `commit()`
`int` | `doWrite(ByteChunk chunk, Response res)` Write the contents of a byte chunk.
`void` | `endHeaders()` End the header block.
`void` | `endRequest()` End request.
`void` | `flush()` Flush the response.
`long` | `getBytesWritten()` Bytes written to the underlying socket.
`OutputFilter[]` | `getFilters()` Get filters.
`abstract void` | `init(SocketWrapper<S> socketWrapper, AbstractEndpoint endpoint)`
`void` | `nextRequest()` End processing of current HTTP request.
`void` | `recycle()` Recycle the output buffer.
`void` | `reset()` Reset current response.
`abstract void` | `sendAck()`
`void` | `sendHeader(MessageBytes name, MessageBytes value)` Send a header.
`void` | `sendStatus()` Send the response status line.
`void` | `write(byte[] b)` This method will write the contents of the specified byte buffer to the output stream, without filtering.
`protected void` | `write(ByteChunk bc)` This method will write the contents of the specified message bytes buffer to the output stream, without filtering.
`protected void` | `write(CharChunk cc)` This method will write the contents of the specified char buffer to the output stream, without filtering.
`protected void` | `write(int i)` This method will print the specified integer to the output stream, without filtering.
`protected void` | `write(MessageBytes mb)` This method will write the contents of the specified message bytes buffer to the output stream, without filtering.
`protected void` | `write(String s)` This method will write the contents of the specified String to the output stream, without filtering.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### response

    protected Response response

  Associated Coyote response.

### committed

    protected boolean committed

  Committed flag.

### finished

    protected boolean finished

  Finished flag.

### buf

    protected byte[] buf

  The buffer used for header composition.

### pos

    protected int pos

  Position in the buffer.

### filterLibrary

    protected OutputFilter[] filterLibrary

  Filter library. Note: Filter[0] is always the "chunked" filter.

### activeFilters

    protected OutputFilter[] activeFilters

  Active filter (which is actually the top of the pipeline).

### lastActiveFilter

    protected int lastActiveFilter

  Index of the last active filter.

### outputStreamOutputBuffer

    protected OutputBuffer outputStreamOutputBuffer

  Underlying output buffer.

### byteCount

    protected long byteCount

  Bytes written to client for the current request

### sm

    protected static final StringManager sm

  The string manager for this package.

Constructor Detail

### AbstractOutputBuffer

    public AbstractOutputBuffer()

Method Detail

### addFilter

    public void addFilter(OutputFilter filter)

  Add an output filter to the filter library.

### getFilters

    public OutputFilter[] getFilters()

  Get filters.

### addActiveFilter

    public void addActiveFilter(OutputFilter filter)

  Add an output filter to the filter library.

### doWrite

    public int doWrite(ByteChunk chunk,
                       Response res)
                throws IOException

  Write the contents of a byte chunk.

  Specified by:
    `doWrite` in interface `OutputBuffer`
  Parameters:
    `chunk` - byte chunk
    `res` - used to allow buffers that can be shared by multiple responses.
  Returns:
    number of bytes written
  Throws:
    `IOException` - an underlying I/O error occurred

### getBytesWritten

    public long getBytesWritten()

  Description copied from interface: `OutputBuffer`
  Bytes written to the underlying socket. This includes the effects of chunking, compression, etc.

  Specified by:
    `getBytesWritten` in interface `OutputBuffer`
  Returns:
    Bytes written for the current request

### flush

    public void flush()
               throws IOException

  Flush the response.

  Throws:
    `IOException` - an underlying I/O error occurred

### reset

    public void reset()

  Reset current response.

  Throws:
    `IllegalStateException` - if the response has already been committed

### recycle

    public void recycle()

  Recycle the output buffer. This should be called when closing the connection.

### nextRequest

    public void nextRequest()

  End processing of current HTTP request. Note: All bytes of the current request should have been already consumed. This method only resets all the pointers so that we are ready to parse the next HTTP request.

### endRequest

    public void endRequest()
                    throws IOException

  End request.

  Throws:
    `IOException` - an underlying I/O error occurred

### init

    public abstract void init(SocketWrapper<S> socketWrapper,
                              AbstractEndpoint endpoint)
                       throws IOException

  Throws:
    `IOException`

### sendAck

    public abstract void sendAck()
                          throws IOException

  Throws:
    `IOException`

### commit

    protected abstract void commit()
                            throws IOException

  Throws:
    `IOException`

### sendStatus

    public void sendStatus()

  Send the response status line.

### sendHeader

    public void sendHeader(MessageBytes name,
                           MessageBytes value)

  Send a header.

  Parameters:
    `name` - Header name
    `value` - Header value

### endHeaders

    public void endHeaders()

  End the header block.

### write

    protected void write(MessageBytes mb)

  This method will write the contents of the specified message bytes buffer to the output stream, without filtering. This method is meant to be used to write the response header.

  Parameters:
    `mb` - data to be written

### write

    protected void write(ByteChunk bc)

  This method will write the contents of the specified message bytes buffer to the output stream, without filtering. This method is meant to be used to write the response header.

  Parameters:
    `bc` - data to be written

### write

    protected void write(CharChunk cc)

  This method will write the contents of the specified char buffer to the output stream, without filtering. This method is meant to be used to write the response header.

  Parameters:
    `cc` - data to be written

### write

    public void write(byte[] b)

  This method will write the contents of the specified byte buffer to the output stream, without filtering. This method is meant to be used to write the response header.

  Parameters:
    `b` - data to be written

### write

    protected void write(String s)

  This method will write the contents of the specified String to the output stream, without filtering. This method is meant to be used to write the response header.

  Parameters:
    `s` - data to be written

### write

    protected void write(int i)

  This method will print the specified integer to the output stream, without filtering. This method is meant to be used to write the response header.

  Parameters:
    `i` - data to be written

Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.