Package org.apache.hc.core5.http.io
Interface SessionOutputBuffer
-
- All Known Implementing Classes:
SessionOutputBufferImpl
public interface SessionOutputBufferSession output buffer for blocking HTTP/1.1 connections.This interface facilitates intermediate buffering of output data streamed out to an output stream and provides provides methods for writing lines of text.
- Since:
- 4.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description intavailable()Returns available space in the buffer.intcapacity()Returns total capacity of the buffervoidflush(java.io.OutputStream outputStream)Flushes this session buffer and forces any buffered output bytes to be written out.HttpTransportMetricsgetMetrics()ReturnsHttpTransportMetricsfor this session buffer.intlength()Return length data stored in the buffervoidwrite(byte[] b, int off, int len, java.io.OutputStream outputStream)Writeslenbytes from the specified byte array starting at offsetoffto this session buffer.voidwrite(byte[] b, java.io.OutputStream outputStream)Writesb.lengthbytes from the specified byte array to this session buffer.voidwrite(int b, java.io.OutputStream outputStream)Writes the specified byte to this session buffer.voidwriteLine(CharArrayBuffer buffer, java.io.OutputStream outputStream)Writes characters from the specified char array followed by a line delimiter to this session buffer.
-
-
-
Method Detail
-
length
int length()
Return length data stored in the buffer- Returns:
- data length
-
capacity
int capacity()
Returns total capacity of the buffer- Returns:
- total capacity
-
available
int available()
Returns available space in the buffer.- Returns:
- available space.
-
write
void write(byte[] b, int off, int len, java.io.OutputStream outputStream) throws java.io.IOExceptionWriteslenbytes from the specified byte array starting at offsetoffto this session buffer.If
offis negative, orlenis negative, oroff+lenis greater than the length of the arrayb, then anIndexOutOfBoundsExceptionis thrown.- 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
void write(byte[] b, java.io.OutputStream outputStream) throws java.io.IOExceptionWritesb.lengthbytes from the specified byte array to this session buffer.- Parameters:
b- the data.- Throws:
java.io.IOException- if an I/O error occurs.
-
write
void write(int b, java.io.OutputStream outputStream) throws java.io.IOExceptionWrites the specified byte to this session buffer.- Parameters:
b- thebyte.- Throws:
java.io.IOException- if an I/O error occurs.
-
writeLine
void writeLine(CharArrayBuffer buffer, java.io.OutputStream outputStream) throws java.io.IOException
Writes characters from the specified char array followed by a line delimiter to this session buffer.The choice of a char encoding and line delimiter sequence is up to the specific implementations of this interface.
- Parameters:
buffer- the buffer containing chars of the line.- Throws:
java.io.IOException- if an I/O error occurs.
-
flush
void flush(java.io.OutputStream outputStream) throws java.io.IOExceptionFlushes this session buffer and forces any buffered output bytes to be written out. The general contract offlushis that calling it is an indication that, if any bytes previously written have been buffered by the implementation of the output stream, such bytes should immediately be written to their intended destination.- Throws:
java.io.IOException- if an I/O error occurs.
-
getMetrics
HttpTransportMetrics getMetrics()
ReturnsHttpTransportMetricsfor this session buffer.- Returns:
- transport metrics.
-
-