Class SharedOutputBuffer
- java.lang.Object
-
- org.apache.hc.core5.http.impl.nio.ExpandableBuffer
-
- org.apache.hc.core5.http.nio.support.classic.AbstractSharedBuffer
-
- org.apache.hc.core5.http.nio.support.classic.SharedOutputBuffer
-
- All Implemented Interfaces:
ContentOutputBuffer
@Contract(threading=SAFE) public final class SharedOutputBuffer extends AbstractSharedBuffer implements ContentOutputBuffer
- Since:
- 5.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.hc.core5.http.impl.nio.ExpandableBuffer
ExpandableBuffer.Mode
-
-
Field Summary
Fields Modifier and Type Field Description private DataStreamChanneldataStreamChannelprivate booleanendStreamPropagatedprivate booleanhasCapacity-
Fields inherited from class org.apache.hc.core5.http.nio.support.classic.AbstractSharedBuffer
aborted, condition, endStream, lock
-
-
Constructor Summary
Constructors Constructor Description SharedOutputBuffer(int bufferSize)SharedOutputBuffer(java.util.concurrent.locks.ReentrantLock lock, int initialBufferSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidensureNotAborted()voidflush(DataStreamChannel channel)private voidpropagateEndStream()private voidwaitFlush()voidwrite(byte[] b, int off, int len)Writeslenbytes from the specified byte array starting at offsetoffto this buffer.voidwrite(int b)Writes the specified byte to this buffer.voidwriteCompleted()Indicates the content has been fully written.-
Methods inherited from class org.apache.hc.core5.http.nio.support.classic.AbstractSharedBuffer
abort, capacity, hasData, isEndStream, length, reset
-
Methods inherited from class org.apache.hc.core5.http.impl.nio.ExpandableBuffer
buffer, clear, ensureAdjustedCapacity, ensureCapacity, expand, mode, setInputMode, setOutputMode, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.hc.core5.http.nio.support.classic.ContentOutputBuffer
length, reset
-
-
-
-
Field Detail
-
dataStreamChannel
private volatile DataStreamChannel dataStreamChannel
-
hasCapacity
private volatile boolean hasCapacity
-
endStreamPropagated
private volatile boolean endStreamPropagated
-
-
Method Detail
-
flush
public void flush(DataStreamChannel channel) throws java.io.IOException
- Throws:
java.io.IOException
-
ensureNotAborted
private void ensureNotAborted() throws java.io.InterruptedIOException- Throws:
java.io.InterruptedIOException
-
write
public void write(byte[] b, int off, int len) throws java.io.IOExceptionDescription copied from interface:ContentOutputBufferWriteslenbytes from the specified byte array starting at offsetoffto this buffer.If
offis negative, orlenis negative, oroff+lenis greater than the length of the arrayb, this method can throw a runtime exception. The exact type of runtime exception thrown by this method depends on implementation.- Specified by:
writein interfaceContentOutputBuffer- Parameters:
b- the data.off- the start offset in the data.len- the number of bytes to write.- Throws:
java.io.IOException- if an I/O error occurs.
-
write
public void write(int b) throws java.io.IOExceptionDescription copied from interface:ContentOutputBufferWrites the specified byte to this buffer.- Specified by:
writein interfaceContentOutputBuffer- Parameters:
b- thebyte.- Throws:
java.io.IOException- if an I/O error occurs.
-
writeCompleted
public void writeCompleted() throws java.io.IOExceptionDescription copied from interface:ContentOutputBufferIndicates the content has been fully written.- Specified by:
writeCompletedin interfaceContentOutputBuffer- Throws:
java.io.IOException- if an I/O error occurs.
-
waitFlush
private void waitFlush() throws java.io.InterruptedIOException- Throws:
java.io.InterruptedIOException
-
propagateEndStream
private void propagateEndStream() throws java.io.IOException- Throws:
java.io.IOException
-
-