blob: 9bbdee657af142f196a72ba4f255771f8f567970 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_22) on Tue Sep 18 20:44:13 GMT+01:00 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
AbstractSessionInputBuffer (HttpComponents Core 4.2.2 API)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.http.impl.io.AbstractSessionInputBuffer class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="AbstractSessionInputBuffer (HttpComponents Core 4.2.2 API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractSessionInputBuffer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/http/impl/io/AbstractMessageWriter.html" title="class in org.apache.http.impl.io"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/http/impl/io/AbstractSessionInputBuffer.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AbstractSessionInputBuffer.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.http.impl.io</FONT>
<BR>
Class AbstractSessionInputBuffer</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.http.impl.io.AbstractSessionInputBuffer</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/http/io/BufferInfo.html" title="interface in org.apache.http.io">BufferInfo</A>, <A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/apache/http/impl/io/SocketInputBuffer.html" title="class in org.apache.http.impl.io">SocketInputBuffer</A></DD>
</DL>
<HR>
<DL>
<DT><PRE><FONT SIZE="-1"><A HREF="../../../../../org/apache/http/annotation/NotThreadSafe.html" title="annotation in org.apache.http.annotation">@NotThreadSafe</A>
</FONT>public abstract class <B>AbstractSessionInputBuffer</B><DT>extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>, <A HREF="../../../../../org/apache/http/io/BufferInfo.html" title="interface in org.apache.http.io">BufferInfo</A></DL>
</PRE>
<P>
Abstract base class for session input buffers that stream data from
an arbitrary <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>. This class buffers input data in
an internal byte array for optimal input performance.
<p>
<A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#readLine(org.apache.http.util.CharArrayBuffer)"><CODE>readLine(CharArrayBuffer)</CODE></A> and <A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#readLine()"><CODE>readLine()</CODE></A> methods of this
class treat a lone LF as valid line delimiters in addition to CR-LF required
by the HTTP specification.
<p>
The following parameters can be used to customize the behavior of this
class:
<ul>
<li><A HREF="../../../../../org/apache/http/params/CoreProtocolPNames.html#HTTP_ELEMENT_CHARSET"><CODE>CoreProtocolPNames.HTTP_ELEMENT_CHARSET</CODE></A></li>
<li><A HREF="../../../../../org/apache/http/params/CoreConnectionPNames.html#MAX_LINE_LENGTH"><CODE>CoreConnectionPNames.MAX_LINE_LENGTH</CODE></A></li>
<li><A HREF="../../../../../org/apache/http/params/CoreConnectionPNames.html#MIN_CHUNK_LIMIT"><CODE>CoreConnectionPNames.MIN_CHUNK_LIMIT</CODE></A></li>
</ul>
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>4.0</DD>
</DL>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#AbstractSessionInputBuffer()">AbstractSessionInputBuffer</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#available()">available</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns available space in the buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#capacity()">capacity</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns total capacity of the buffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/http/impl/io/HttpTransportMetricsImpl.html" title="class in org.apache.http.impl.io">HttpTransportMetricsImpl</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#createTransportMetrics()">createTransportMetrics</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#fillBuffer()">fillBuffer</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/http/io/HttpTransportMetrics.html" title="interface in org.apache.http.io">HttpTransportMetrics</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#getMetrics()">getMetrics</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <A HREF="../../../../../org/apache/http/io/HttpTransportMetrics.html" title="interface in org.apache.http.io"><CODE>HttpTransportMetrics</CODE></A> for this session buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#hasBufferedData()">hasBufferedData</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#init(java.io.InputStream, int, org.apache.http.params.HttpParams)">init</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;instream,
int&nbsp;buffersize,
<A HREF="../../../../../org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>&nbsp;params)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes this session input buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#length()">length</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return length data stored in the buffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#read()">read</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads the next byte of data from this session buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#read(byte[])">read</A></B>(byte[]&nbsp;b)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads some number of bytes from the session buffer and stores them into
the buffer array <code>b</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#read(byte[], int, int)">read</A></B>(byte[]&nbsp;b,
int&nbsp;off,
int&nbsp;len)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads up to <code>len</code> bytes of data from the session buffer into
an array of bytes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#readLine()">readLine</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a complete line of characters up to a line delimiter from this
session buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractSessionInputBuffer.html#readLine(org.apache.http.util.CharArrayBuffer)">readLine</A></B>(<A HREF="../../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;charbuffer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a complete line of characters up to a line delimiter from this
session buffer into the given line buffer.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.http.io.SessionInputBuffer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.http.io.<A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#isDataAvailable(int)">isDataAvailable</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="AbstractSessionInputBuffer()"><!-- --></A><H3>
AbstractSessionInputBuffer</H3>
<PRE>
public <B>AbstractSessionInputBuffer</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="init(java.io.InputStream, int, org.apache.http.params.HttpParams)"><!-- --></A><H3>
init</H3>
<PRE>
protected void <B>init</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;instream,
int&nbsp;buffersize,
<A HREF="../../../../../org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>&nbsp;params)</PRE>
<DL>
<DD>Initializes this session input buffer.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>instream</CODE> - the source input stream.<DD><CODE>buffersize</CODE> - the size of the internal buffer.<DD><CODE>params</CODE> - HTTP parameters.</DL>
</DD>
</DL>
<HR>
<A NAME="createTransportMetrics()"><!-- --></A><H3>
createTransportMetrics</H3>
<PRE>
protected <A HREF="../../../../../org/apache/http/impl/io/HttpTransportMetricsImpl.html" title="class in org.apache.http.impl.io">HttpTransportMetricsImpl</A> <B>createTransportMetrics</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>4.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="capacity()"><!-- --></A><H3>
capacity</H3>
<PRE>
public int <B>capacity</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/io/BufferInfo.html#capacity()">BufferInfo</A></CODE></B></DD>
<DD>Returns total capacity of the buffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/io/BufferInfo.html#capacity()">capacity</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/io/BufferInfo.html" title="interface in org.apache.http.io">BufferInfo</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>total capacity<DT><B>Since:</B></DT>
<DD>4.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="length()"><!-- --></A><H3>
length</H3>
<PRE>
public int <B>length</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/io/BufferInfo.html#length()">BufferInfo</A></CODE></B></DD>
<DD>Return length data stored in the buffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/io/BufferInfo.html#length()">length</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/io/BufferInfo.html" title="interface in org.apache.http.io">BufferInfo</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>data length<DT><B>Since:</B></DT>
<DD>4.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="available()"><!-- --></A><H3>
available</H3>
<PRE>
public int <B>available</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/io/BufferInfo.html#available()">BufferInfo</A></CODE></B></DD>
<DD>Returns available space in the buffer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/io/BufferInfo.html#available()">available</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/io/BufferInfo.html" title="interface in org.apache.http.io">BufferInfo</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>available space.<DT><B>Since:</B></DT>
<DD>4.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="fillBuffer()"><!-- --></A><H3>
fillBuffer</H3>
<PRE>
protected int <B>fillBuffer</B>()
throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="hasBufferedData()"><!-- --></A><H3>
hasBufferedData</H3>
<PRE>
protected boolean <B>hasBufferedData</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="read()"><!-- --></A><H3>
read</H3>
<PRE>
public int <B>read</B>()
throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#read()">SessionInputBuffer</A></CODE></B></DD>
<DD>Reads the next byte of data from this session buffer. The value byte is
returned as an <code>int</code> in the range <code>0</code> to
<code>255</code>. If no byte is available because the end of the stream
has been reached, the value <code>-1</code> is returned. This method
blocks until input data is available, the end of the stream is detected,
or an exception is thrown.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#read()">read</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the next byte of data, or <code>-1</code> if the end of the
stream is reached.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
</DD>
</DL>
<HR>
<A NAME="read(byte[], int, int)"><!-- --></A><H3>
read</H3>
<PRE>
public int <B>read</B>(byte[]&nbsp;b,
int&nbsp;off,
int&nbsp;len)
throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#read(byte[], int, int)">SessionInputBuffer</A></CODE></B></DD>
<DD>Reads up to <code>len</code> bytes of data from the session buffer into
an array of bytes. An attempt is made to read as many as
<code>len</code> bytes, but a smaller number may be read, possibly
zero. The number of bytes actually read is returned as an integer.
<p> This method blocks until input data is available, end of file is
detected, or an exception is thrown.
<p> If <code>off</code> is negative, or <code>len</code> is negative, or
<code>off+len</code> is greater than the length of the array
<code>b</code>, then an <code>IndexOutOfBoundsException</code> is
thrown.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#read(byte[], int, int)">read</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>b</CODE> - the buffer into which the data is read.<DD><CODE>off</CODE> - the start offset in array <code>b</code>
at which the data is written.<DD><CODE>len</CODE> - the maximum number of bytes to read.
<DT><B>Returns:</B><DD>the total number of bytes read into the buffer, or
<code>-1</code> if there is no more data because the end of
the stream has been reached.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
</DD>
</DL>
<HR>
<A NAME="read(byte[])"><!-- --></A><H3>
read</H3>
<PRE>
public int <B>read</B>(byte[]&nbsp;b)
throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#read(byte[])">SessionInputBuffer</A></CODE></B></DD>
<DD>Reads some number of bytes from the session buffer and stores them into
the buffer array <code>b</code>. 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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#read(byte[])">read</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>b</CODE> - the buffer into which the data is read.
<DT><B>Returns:</B><DD>the total number of bytes read into the buffer, or
<code>-1</code> is there is no more data because the end of
the stream has been reached.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
</DD>
</DL>
<HR>
<A NAME="readLine(org.apache.http.util.CharArrayBuffer)"><!-- --></A><H3>
readLine</H3>
<PRE>
public int <B>readLine</B>(<A HREF="../../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;charbuffer)
throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>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 <code>-1</code> is returned. This method blocks until input
data is available, end of file is detected, or an exception is thrown.
<p>
This method treats a lone LF as a valid line delimiters in addition
to CR-LF required by the HTTP specification.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#readLine(org.apache.http.util.CharArrayBuffer)">readLine</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>charbuffer</CODE> - the line buffer.
<DT><B>Returns:</B><DD>one line of characters
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
</DD>
</DL>
<HR>
<A NAME="readLine()"><!-- --></A><H3>
readLine</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>readLine</B>()
throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#readLine()">SessionInputBuffer</A></CODE></B></DD>
<DD>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,
<code>null</code> is returned. This method blocks until input data is
available, end of file is detected, or an exception is thrown.
<p>
The choice of a char encoding and line delimiter sequence is up to the
specific implementations of this interface.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#readLine()">readLine</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>HTTP line as a string
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
</DD>
</DL>
<HR>
<A NAME="getMetrics()"><!-- --></A><H3>
getMetrics</H3>
<PRE>
public <A HREF="../../../../../org/apache/http/io/HttpTransportMetrics.html" title="interface in org.apache.http.io">HttpTransportMetrics</A> <B>getMetrics</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#getMetrics()">SessionInputBuffer</A></CODE></B></DD>
<DD>Returns <A HREF="../../../../../org/apache/http/io/HttpTransportMetrics.html" title="interface in org.apache.http.io"><CODE>HttpTransportMetrics</CODE></A> for this session buffer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html#getMetrics()">getMetrics</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>transport metrics.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractSessionInputBuffer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/http/impl/io/AbstractMessageWriter.html" title="class in org.apache.http.impl.io"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/http/impl/io/AbstractSessionInputBuffer.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AbstractSessionInputBuffer.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2005-2012 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>