public abstract class AbstractInternalOutputBuffer extends Object implements OutputBuffer
AbstractInternalOutputBuffer
Created on Jan 10, 2012 at 12:08:51 PMModifier 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 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 |
outputBuffer
Underlying output buffer.
|
protected int |
pos
Position in the buffer.
|
protected Response |
response
Associated Coyote response.
|
protected int |
writeTimeout
Write timeout
|
Constructor and Description |
---|
AbstractInternalOutputBuffer(Response response,
int headerBufferSize)
Create a new instance of
AbstractInternalOutputBuffer |
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 void |
clearBuffer() |
void |
clearFilters()
Clear filters.
|
protected void |
commit()
Commit the response.
|
abstract 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 abstract void |
flushBuffer()
Callback to write data from the buffer.
|
abstract boolean |
flushLeftover()
Flush leftover bytes.
|
OutputFilter[] |
getFilters()
Get filters.
|
boolean |
getNonBlocking()
Get the non blocking flag value.
|
protected abstract void |
init()
Initialize the internal output buffer
|
void |
nextRequest()
End processing of current HTTP request.
|
void |
recycle()
Recycle this object
|
void |
removeActiveFilters() |
abstract void |
sendAck()
Send an acknowledgment.
|
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 |
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 abstract int |
write(long timeout,
TimeUnit unit)
Perform a write operation.
|
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 OutputBuffer outputBuffer
protected OutputFilter[] filterLibrary
protected OutputFilter[] activeFilters
protected int lastActiveFilter
protected ByteBuffer bbuf
protected ByteChunk leftover
protected boolean nonBlocking
protected int writeTimeout
public AbstractInternalOutputBuffer(Response response, int headerBufferSize)
AbstractInternalOutputBuffer
response
- headerBufferSize
- protected abstract void init()
public void setNonBlocking(boolean nonBlocking)
nonBlocking
- public boolean getNonBlocking()
public void addFilter(OutputFilter filter)
filter
- public OutputFilter[] getFilters()
public void clearFilters()
protected abstract int write(long timeout, TimeUnit unit)
nonBlocking
flag.timeout
- a timeout for the operationunit
- The time unit of the timeoutpublic void addActiveFilter(OutputFilter filter)
filter
- public void removeActiveFilters()
public void flush() throws IOException
IOException
- an undelying I/O error occuredprotected void clearBuffer()
public void recycle()
public void nextRequest()
public void endRequest() throws IOException
IOException
- an undelying I/O error occuredpublic 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 abstract 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 writtenprotected abstract void flushBuffer() throws IOException
IOException
public abstract boolean flushLeftover() throws IOException
IOException
Copyright © 2017 JBoss by Red Hat. All rights reserved.