public class InternalAprOutputBuffer extends Object implements OutputBuffer
Modifier and Type | Class and Description |
---|---|
protected class |
InternalAprOutputBuffer.SocketOutputBuffer
This class is an output buffer which will write data to an output
stream.
|
Modifier and Type | Field and Description |
---|---|
protected OutputFilter[] |
activeFilters
Active filter (which is actually the top of the pipeline).
|
protected ByteBuffer |
bbuf
Direct byte buffer used for writing.
|
protected byte[] |
buf
Pointer to the current write buffer.
|
protected boolean |
committed
Committed flag.
|
protected AprEndpoint |
endpoint
Apr endpoint.
|
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 ByteChunk |
leftover
Leftover bytes which could not be written during a non blocking write.
|
protected boolean |
nonBlocking
Non blocking mode.
|
protected OutputBuffer |
outputStreamOutputBuffer
Underlying output buffer.
|
protected int |
pos
Position in the buffer.
|
protected Response |
response
Associated Coyote response.
|
protected long |
socket
Underlying socket.
|
Constructor and Description |
---|
InternalAprOutputBuffer(Response response,
int headerBufferSize,
AprEndpoint endpoint)
Alternate constructor.
|
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.
|
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.
|
protected void |
flushBuffer()
Callback to write data from the buffer.
|
boolean |
flushLeftover()
Flush leftover bytes.
|
OutputFilter[] |
getFilters()
Get filters.
|
boolean |
getNonBlocking()
Get the non blocking flag value.
|
long |
getSocket()
Get the underlying socket input stream.
|
void |
nextRequest()
End processing of current HTTP request.
|
void |
recycle()
Recycle the output buffer.
|
void |
removeActiveFilters() |
void |
sendAck()
Send an acknoledgement.
|
void |
sendHeader(ByteChunk name,
ByteChunk value)
Send a header.
|
void |
sendHeader(MessageBytes name,
MessageBytes value)
Send a header.
|
void |
sendHeader(String name,
String value)
Send a header.
|
void |
sendStatus()
Send the response status line.
|
void |
setNonBlocking(boolean nonBlocking)
Set the non blocking flag.
|
void |
setSocket(long socket)
Set the underlying socket.
|
void |
write(byte[] b)
This method will write the contents of the specyfied byte
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.
|
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 specyfied message bytes
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 Response response
protected MimeHeaders headers
protected boolean committed
protected boolean finished
protected byte[] buf
protected int pos
protected long socket
protected OutputBuffer outputStreamOutputBuffer
protected OutputFilter[] filterLibrary
protected OutputFilter[] activeFilters
protected int lastActiveFilter
protected ByteBuffer bbuf
protected ByteChunk leftover
protected boolean nonBlocking
protected AprEndpoint endpoint
public InternalAprOutputBuffer(Response response, int headerBufferSize, AprEndpoint endpoint)
public void setSocket(long socket)
public long getSocket()
public void setNonBlocking(boolean nonBlocking)
public boolean getNonBlocking()
public void addFilter(OutputFilter filter)
public OutputFilter[] getFilters()
public void clearFilters()
public void addActiveFilter(OutputFilter filter)
public void removeActiveFilters()
public void flush() throws IOException
IOException
- an undelying I/O error occuredpublic void recycle()
public void nextRequest()
public void endRequest() throws IOException
IOException
- an undelying I/O error occuredpublic void sendAck() throws IOException
IOException
public void sendStatus()
public void sendHeader(MessageBytes name, MessageBytes value)
name
- Header namevalue
- Header valuepublic void sendHeader(ByteChunk name, ByteChunk value)
name
- Header namevalue
- Header valuepublic void sendHeader(String name, String value)
name
- Header namevalue
- Header valuepublic void endHeaders()
public int doWrite(ByteChunk chunk, Response res) throws IOException
doWrite
in interface OutputBuffer
chunk
- byte chunkres
- used to allow buffers that can be shared by multiple responses.IOException
- an undelying I/O error occuredprotected void commit() throws IOException
IOException
- an undelying I/O error occuredprotected 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 writtenpublic boolean flushLeftover() throws IOException
IOException
protected void flushBuffer() throws IOException
IOException
Copyright © 2013 JBoss by Red Hat. All rights reserved.