org.apache.coyote.http11
public class InternalNioOutputBuffer extends java.lang.Object implements OutputBuffer
Modifier and Type | Class and Description |
---|---|
protected class |
InternalNioOutputBuffer.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 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 MutableInteger |
lastWrite
Number of bytes last written
|
protected OutputBuffer |
outputStreamOutputBuffer
Underlying output buffer.
|
protected NioSelectorPool |
pool
Selector pool, for blocking reads and blocking writes
|
protected int |
pos
Position in the buffer.
|
protected Response |
response
Associated Coyote response.
|
protected static StringManager |
sm
The string manager for this package.
|
protected NioChannel |
socket
Underlying socket.
|
Constructor and Description |
---|
InternalNioOutputBuffer(Response response)
Default constructor.
|
InternalNioOutputBuffer(Response response,
int headerBufferSize)
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.
|
OutputFilter[] |
getFilters()
Get filters.
|
NioSelectorPool |
getSelectorPool() |
NioChannel |
getSocket()
Get the underlying socket input stream.
|
boolean |
isWritable() |
void |
nextRequest()
End processing of current HTTP request.
|
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(java.lang.String name,
java.lang.String value)
Send a header.
|
void |
sendStatus()
Send the response status line.
|
void |
setSelectorPool(NioSelectorPool pool) |
void |
setSocket(NioChannel socket)
Set the underlying socket.
|
void |
setSocketBuffer(int socketBufferSize)
Set the socket buffer size.
|
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(java.lang.String s)
This method will write the contents of the specyfied String to the
output stream, without filtering.
|
protected static StringManager sm
protected Response response
protected MimeHeaders headers
protected boolean committed
protected boolean finished
protected byte[] buf
protected int pos
protected MutableInteger lastWrite
protected NioChannel socket
protected NioSelectorPool pool
protected OutputBuffer outputStreamOutputBuffer
protected OutputFilter[] filterLibrary
protected OutputFilter[] activeFilters
protected int lastActiveFilter
public InternalNioOutputBuffer(Response response)
public InternalNioOutputBuffer(Response response, int headerBufferSize)
public void setSocket(NioChannel socket)
public NioChannel getSocket()
public void setSelectorPool(NioSelectorPool pool)
public NioSelectorPool getSelectorPool()
public void setSocketBuffer(int socketBufferSize)
public void addFilter(OutputFilter filter)
public OutputFilter[] getFilters()
public void clearFilters()
public void addActiveFilter(OutputFilter filter)
public void flush() throws java.io.IOException
java.io.IOException
- an undelying I/O error occuredpublic void reset()
java.lang.IllegalStateException
- if the response has already been committedpublic void recycle()
public void nextRequest()
public void endRequest() throws java.io.IOException
java.io.IOException
- an undelying I/O error occuredpublic boolean isWritable()
public void sendAck() throws java.io.IOException
java.io.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(java.lang.String name, java.lang.String value)
name
- Header namevalue
- Header valuepublic void endHeaders()
public int doWrite(ByteChunk chunk, Response res) throws java.io.IOException
doWrite
in interface OutputBuffer
chunk
- byte chunkres
- used to allow buffers that can be shared by multiple responses.java.io.IOException
- an undelying I/O error occuredprotected void commit() throws java.io.IOException
java.io.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(java.lang.String s)
s
- data to be writtenprotected void write(int i)
i
- data to be writtenprotected void flushBuffer() throws java.io.IOException
java.io.IOException
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.