|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.grizzly.tcp.http11.InternalOutputBuffer
public class InternalOutputBuffer
Output buffer.
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
Pointer to the current read 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 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 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. |
|
InternalOutputBuffer(Response response,
int headerBufferSize,
boolean useSocketBuffer)
Create a new InternalOutputBuffer and configure the enable/disable the socketBuffer mechanism. |
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 |
addLastOutputFilter(OutputFilter lastOutputFilter)
Add the last OutputFilter that will be invoked when processing
the writing of the response bytes. |
void |
clearFilters()
Clear filters. |
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(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 |
setOutputStream(OutputStream outputStream)
Set the underlying socket output stream. |
void |
setSocketBuffer(int socketBufferSize)
Set the socket buffer size. |
protected 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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Response response
protected MimeHeaders headers
protected boolean committed
protected boolean finished
protected byte[] buf
protected int pos
protected OutputStream outputStream
protected OutputBuffer outputStreamOutputBuffer
protected OutputFilter[] filterLibrary
protected OutputFilter[] activeFilters
protected int lastActiveFilter
protected ByteChunk socketBuffer
protected boolean useSocketBuffer
Constructor Detail |
---|
public InternalOutputBuffer(Response response)
public InternalOutputBuffer(Response response, int headerBufferSize, boolean useSocketBuffer)
public InternalOutputBuffer(Response response, int headerBufferSize)
Method Detail |
---|
public void setOutputStream(OutputStream outputStream)
public OutputStream getOutputStream()
public void setSocketBuffer(int socketBufferSize)
public void addFilter(OutputFilter filter)
public OutputFilter[] getFilters()
public void clearFilters()
public void addLastOutputFilter(OutputFilter lastOutputFilter)
OutputFilter
that will be invoked when processing
the writing of the response bytes.
public void addActiveFilter(OutputFilter filter)
public void flush() throws IOException
IOException
- an undelying I/O error occuredpublic void reset()
IllegalStateException
- if the response has already been committedpublic 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 occuredpublic 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 writtenprotected 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 void realWriteBytes(byte[] cbuf, int off, int len) throws IOException
realWriteBytes
in interface ByteChunk.ByteOutputChannel
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |