Top Description Methods
org.apache.http.io

public Interface SessionInputBuffer

Known Direct Implementers
org.apache.http.impl.io.AbstractSessionInputBuffer, org.apache.http.impl.io.SessionInputBufferImpl
Imports
java.io.IOException, org.apache.http.util.CharArrayBuffer

Session input buffer for blocking connections. This interface is similar to InputStream class, but it also provides methods for reading lines of text.

Implementing classes are also expected to manage intermediate data buffering for optimal input performance.

Since
4.0

Method Summary

Modifier and TypeMethod and Description
public HttpTransportMetrics

Returns:

transport metrics.
getMetrics
()

Returns HttpTransportMetrics for this session buffer.

public boolean

Returns:

true if some data is available in the session buffer or false otherwise.
isDataAvailable
(int
in milliseconds.
timeout
)

Deprecated (4.3) do not use. This function should be provided at the connection level
Blocks until some data becomes available in the session buffer or the given timeout period in milliseconds elapses.
public int

Returns:

the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
read
(byte[]
the buffer into which the data is read.
b
,
int
the start offset in array b at which the data is written.
off
,
int
the maximum number of bytes to read.
len
)

Reads up to len bytes of data from the session buffer into an array of bytes.

public int

Returns:

the total number of bytes read into the buffer, or -1 is there is no more data because the end of the stream has been reached.
read
(byte[]
the buffer into which the data is read.
b
)

Reads some number of bytes from the session buffer and stores them into the buffer array b.

public int

Returns:

the next byte of data, or -1 if the end of the stream is reached.
read
()

Reads the next byte of data from this session buffer.

public int

Returns:

one line of characters
readLine
(CharArrayBuffer
the line buffer.
buffer
)

Reads a complete line of characters up to a line delimiter from this session buffer into the given line buffer.

public String

Returns:

HTTP line as a string
readLine
()

Reads a complete line of characters up to a line delimiter from this session buffer.

Method Detail

getMetricsback to summary
public HttpTransportMetrics getMetrics()

Returns HttpTransportMetrics for this session buffer.

Returns:HttpTransportMetrics

transport metrics.

isDataAvailableback to summary
public boolean isDataAvailable(int timeout) throws IOException

Deprecated

(4.3) do not use. This function should be provided at the connection level

Blocks until some data becomes available in the session buffer or the given timeout period in milliseconds elapses. If the timeout value is 0 this method blocks indefinitely.

Parameters
timeout:int

in milliseconds.

Returns:boolean

true if some data is available in the session buffer or false otherwise.

Annotations
@Deprecated
Exceptions
IOException:
if an I/O error occurs.
readback to summary
public int read(byte[] b, int off, int len) throws IOException

Reads up to len bytes of data from the session buffer into an array of bytes. An attempt is made to read as many as len bytes, but a smaller number may be read, possibly zero. The number of bytes actually read is returned as an integer.

This method blocks until input data is available, end of file is detected, or an exception is thrown.

If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown.

Parameters
b:byte[]

the buffer into which the data is read.

off:int

the start offset in array b at which the data is written.

len:int

the maximum number of bytes to read.

Returns:int

the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.

Exceptions
IOException:
if an I/O error occurs.
readback to summary
public int read(byte[] b) throws IOException

Reads some number of bytes from the session buffer and stores them into the buffer array b. The number of bytes actually read is returned as an integer. This method blocks until input data is available, end of file is detected, or an exception is thrown.

Parameters
b:byte[]

the buffer into which the data is read.

Returns:int

the total number of bytes read into the buffer, or -1 is there is no more data because the end of the stream has been reached.

Exceptions
IOException:
if an I/O error occurs.
readback to summary
public int read() throws IOException

Reads the next byte of data from this session buffer. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

Returns:int

the next byte of data, or -1 if the end of the stream is reached.

Exceptions
IOException:
if an I/O error occurs.
readLineback to summary
public int readLine(CharArrayBuffer buffer) throws IOException

Reads a complete line of characters up to a line delimiter from this session buffer into the given line buffer. The number of chars actually read is returned as an integer. The line delimiter itself is discarded. If no char is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, end of file is detected, or an exception is thrown.

The choice of a char encoding and line delimiter sequence is up to the specific implementations of this interface.

Parameters
buffer:CharArrayBuffer

the line buffer.

Returns:int

one line of characters

Exceptions
IOException:
if an I/O error occurs.
readLineback to summary
public String readLine() throws IOException

Reads a complete line of characters up to a line delimiter from this session buffer. The line delimiter itself is discarded. If no char is available because the end of the stream has been reached, null is returned. This method blocks until input data is available, end of file is detected, or an exception is thrown.

The choice of a char encoding and line delimiter sequence is up to the specific implementations of this interface.

Returns:String

HTTP line as a string

Exceptions
IOException:
if an I/O error occurs.