public abstract class AbstractOutputBuffer<S> extends Object implements OutputBuffer
Modifier and Type | Field and Description |
---|---|
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 and Description |
---|
AbstractOutputBuffer() |
Modifier and Type | Method and Description |
---|---|
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<S> 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.
|
protected Response response
protected boolean committed
protected boolean finished
protected byte[] buf
protected int pos
protected OutputFilter[] filterLibrary
protected OutputFilter[] activeFilters
protected int lastActiveFilter
protected OutputBuffer outputStreamOutputBuffer
protected long byteCount
protected static final StringManager sm
public void addFilter(OutputFilter filter)
public OutputFilter[] getFilters()
public void addActiveFilter(OutputFilter filter)
public int doWrite(ByteChunk chunk, Response res) throws IOException
doWrite
in interface OutputBuffer
chunk
- byte chunkres
- The response to which the data should be written.
(Should be the response already associated with the
OutputBuffer).IOException
- an underlying I/O error occurredpublic long getBytesWritten()
OutputBuffer
getBytesWritten
in interface OutputBuffer
public void flush() throws IOException
IOException
- an underlying I/O error occurredpublic void reset()
IllegalStateException
- if the response has already been committedpublic void recycle()
public void nextRequest()
public void endRequest() throws IOException
IOException
- an underlying I/O error occurredpublic abstract void init(SocketWrapper<S> socketWrapper, AbstractEndpoint<S> endpoint) throws IOException
IOException
public abstract void sendAck() throws IOException
IOException
protected abstract void commit() throws IOException
IOException
public void sendStatus()
public void sendHeader(MessageBytes name, MessageBytes value)
name
- Header namevalue
- Header valuepublic void endHeaders()
protected void write(MessageBytes mb)
mb
- data to be writtenprotected void write(ByteChunk bc)
bc
- data to be writtenprotected void write(CharChunk cc)
cc
- data to be writtenpublic void write(byte[] b)
b
- data to be writtenprotected void write(String s)
s
- data to be writtenprotected void write(int i)
i
- data to be writtenCopyright © 2000-2021 Apache Software Foundation. All Rights Reserved.