org.apache.http.nio.util
Class SharedOutputBuffer

java.lang.Object
  extended by org.apache.http.nio.util.ExpandableBuffer
      extended by org.apache.http.nio.util.SharedOutputBuffer
All Implemented Interfaces:
BufferInfo, ContentOutputBuffer

public class SharedOutputBuffer
extends ExpandableBuffer
implements ContentOutputBuffer

Implementation of the ContentOutputBuffer interface that can be shared by multiple threads, usually the I/O dispatch of an I/O reactor and a worker tread. This class is not threading safe.

Since:
4.0

Field Summary
 
Fields inherited from class org.apache.http.nio.util.ExpandableBuffer
buffer, INPUT_MODE, OUTPUT_MODE
 
Constructor Summary
SharedOutputBuffer(int buffersize, IOControl ioctrl, ByteBufferAllocator allocator)
           
 
Method Summary
 void close()
           
 void flush()
           
 int produceContent(ContentEncoder encoder)
          Writes content from this buffer to the given ContentEncoder.
 void reset()
          Resets the buffer by clearing its state and stored content.
 void shutdown()
           
 void write(byte[] b)
           
 void write(byte[] b, int off, int len)
          Writes len bytes from the specified byte array starting at offset off to this buffer.
 void write(int b)
          Writes the specified byte to this buffer.
 void writeCompleted()
          Indicates the content has been fully written.
 
Methods inherited from class org.apache.http.nio.util.ExpandableBuffer
available, capacity, clear, ensureCapacity, expand, getMode, hasData, length, setInputMode, setOutputMode, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SharedOutputBuffer

public SharedOutputBuffer(int buffersize,
                          IOControl ioctrl,
                          ByteBufferAllocator allocator)
Method Detail

reset

public void reset()
Description copied from interface: ContentOutputBuffer
Resets the buffer by clearing its state and stored content.

Specified by:
reset in interface ContentOutputBuffer

produceContent

public int produceContent(ContentEncoder encoder)
                   throws IOException
Description copied from interface: ContentOutputBuffer
Writes content from this buffer to the given ContentEncoder.

Specified by:
produceContent in interface ContentOutputBuffer
Parameters:
encoder - content encoder.
Returns:
number of bytes written.
Throws:
IOException - in case of an I/O error.

close

public void close()

shutdown

public void shutdown()

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
Description copied from interface: ContentOutputBuffer
Writes len bytes from the specified byte array starting at offset off to this buffer.

If off is negative, or len is negative, or off+len is greater than the length of the array b, this method can throw a runtime exception. The exact type of runtime exception thrown by this method depends on implementation.

Specified by:
write in interface ContentOutputBuffer
Parameters:
b - the data.
off - the start offset in the data.
len - the number of bytes to write.
Throws:
IOException - if an I/O error occurs.

write

public void write(byte[] b)
           throws IOException
Throws:
IOException

write

public void write(int b)
           throws IOException
Description copied from interface: ContentOutputBuffer
Writes the specified byte to this buffer.

Specified by:
write in interface ContentOutputBuffer
Parameters:
b - the byte.
Throws:
IOException - if an I/O error occurs.

flush

public void flush()
           throws IOException
Specified by:
flush in interface ContentOutputBuffer
Throws:
IOException

writeCompleted

public void writeCompleted()
                    throws IOException
Description copied from interface: ContentOutputBuffer
Indicates the content has been fully written.

Specified by:
writeCompleted in interface ContentOutputBuffer
Throws:
IOException - if an I/O error occurs.


Copyright © 2005-2009 Apache Software Foundation. All Rights Reserved.