org.apache.coyote.http11
public class InternalOutputBuffer extends Object implements OutputBuffer, ByteChunk.ByteOutputChannel
Nested Class Summary | |
---|---|
protected class | InternalOutputBuffer.OutputStreamOutputBuffer
This class is an output buffer which will write data to an output
stream. |
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 boolean | committed
Committed flag. |
protected OutputFilter[] | filterLibrary
Filter library.
|
protected boolean | finished
Finished flag. |
protected MimeHeaders | headers
Headers of the associated request. |
protected int | lastActiveFilter
Index of the last active filter. |
protected OutputStream | outputStream
Underlying output stream. |
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. |
protected ByteChunk | socketBuffer
Socket buffer. |
protected boolean | useSocketBuffer
Socket buffer (extra buffering to reduce number of packets sent). |
Constructor Summary | |
---|---|
InternalOutputBuffer(Response response)
Default constructor. | |
InternalOutputBuffer(Response response, int headerBufferSize)
Alternate constructor. |
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. |
void | clearFilters()
Clear filters. |
protected void | commit()
Commit the response.
|
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.
|
OutputFilter[] | getFilters()
Get filters. |
OutputStream | getOutputStream()
Get the underlying socket output stream. |
void | nextRequest()
End processing of current HTTP request.
|
void | realWriteBytes(byte[] cbuf, int off, int len)
Callback to write data from the buffer. |
void | recycle()
Recycle the output buffer. |
void | reset()
Reset current response.
|
void | sendAck()
Send an acknoledgement. |
void | sendHeader(MessageBytes name, MessageBytes value)
Send a header.
|
void | sendHeader(ByteChunk name, ByteChunk value)
Send a header.
|
void | sendHeader(String name, String value)
Send a header.
|
void | sendStatus()
Send the response status line. |
void | setOutputStream(OutputStream outputStream)
Set the underlying socket output stream. |
void | setSocketBuffer(int socketBufferSize)
Set the socket buffer size. |
protected void | write(MessageBytes mb)
This method will write the contents of the specyfied message bytes
buffer to the output stream, without filtering. |
protected void | write(ByteChunk bc)
This method will write the contents of the specyfied message bytes
buffer to the output stream, without filtering. |
protected void | write(CharChunk cc)
This method will write the contents of the specyfied char
buffer to the output stream, without filtering. |
void | write(byte[] b)
This method will write the contents of the specyfied byte
buffer to the output stream, without filtering. |
protected void | write(String s)
This method will write the contents of the specyfied String to the
output stream, without filtering. |
protected void | write(int i)
This method will print the specified integer to the output stream,
without filtering. |
Throws: IOException an undelying I/O error occured
Parameters: chunk byte chunk
Returns: number of bytes written
Throws: IOException an undelying I/O error occured
Throws: IOException an undelying I/O error occured
Throws: IOException an undelying I/O error occured
Throws: IllegalStateException if the response has already been committed
Parameters: name Header name value Header value
Parameters: name Header name value Header value
Parameters: name Header name value Header value
Parameters: mb data to be written
Parameters: bc data to be written
Parameters: cc data to be written
Parameters: b data to be written
Parameters: s data to be written
Parameters: i data to be written