blob: 582345130143df23f11271cb09d57e6314e0f99c [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:15 GMT+01:00 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
IOSessionImpl (HttpComponents Core 4.2.2 API)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.http.impl.nio.reactor.IOSessionImpl class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="IOSessionImpl (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/IOSessionImpl.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/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/http/impl/nio/reactor/ListenerEndpointClosedCallback.html" title="interface in org.apache.http.impl.nio.reactor"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/apache/http/impl/nio/reactor/IOSessionImpl.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IOSessionImpl.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.nio.reactor</FONT>
<BR>
Class IOSessionImpl</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.nio.reactor.IOSessionImpl</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>, <A HREF="../../../../../../org/apache/http/nio/reactor/SocketAccessor.html" title="interface in org.apache.http.nio.reactor">SocketAccessor</A></DD>
</DL>
<HR>
<DL>
<DT><PRE><FONT SIZE="-1"><A HREF="../../../../../../org/apache/http/annotation/ThreadSafe.html" title="annotation in org.apache.http.annotation">@ThreadSafe</A>
</FONT>public class <B>IOSessionImpl</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/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>, <A HREF="../../../../../../org/apache/http/nio/reactor/SocketAccessor.html" title="interface in org.apache.http.nio.reactor">SocketAccessor</A></DL>
</PRE>
<P>
Default implementation of <A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A>.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>4.0</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_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>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.http.nio.reactor.IOSession"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface org.apache.http.nio.reactor.<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#ACTIVE">ACTIVE</A>, <A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#ATTACHMENT_KEY">ATTACHMENT_KEY</A>, <A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#CLOSED">CLOSED</A>, <A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#CLOSING">CLOSING</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== 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/nio/reactor/IOSessionImpl.html#IOSessionImpl(java.nio.channels.SelectionKey, org.apache.http.impl.nio.reactor.InterestOpsCallback, org.apache.http.impl.nio.reactor.SessionClosedCallback)">IOSessionImpl</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key,
org.apache.http.impl.nio.reactor.InterestOpsCallback&nbsp;interestOpsCallback,
<A HREF="../../../../../../org/apache/http/impl/nio/reactor/SessionClosedCallback.html" title="interface in org.apache.http.impl.nio.reactor">SessionClosedCallback</A>&nbsp;sessionClosedCallback)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates new instance of IOSessionImpl.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#IOSessionImpl(java.nio.channels.SelectionKey, org.apache.http.impl.nio.reactor.SessionClosedCallback)">IOSessionImpl</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key,
<A HREF="../../../../../../org/apache/http/impl/nio/reactor/SessionClosedCallback.html" title="interface in org.apache.http.impl.nio.reactor">SessionClosedCallback</A>&nbsp;sessionClosedCallback)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates new instance of IOSessionImpl.</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;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/ByteChannel.html" title="class or interface in java.nio.channels">ByteChannel</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#channel()">channel</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the underlying I/O channel associated with this session.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#clearEvent(int)">clearEvent</A></B>(int&nbsp;op)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears interest in a particular I/O event type by updating the event
mask associated with the session.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#close()">close</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Terminates the session gracefully and closes the underlying I/O channel.</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/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#getAttribute(java.lang.String)">getAttribute</A></B>(<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>&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the attribute with the given name.</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/nio/reactor/IOSessionImpl.html#getEventMask()">getEventMask</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns mask of I/O evens this session declared interest in.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#getLastAccessTime()">getLastAccessTime</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;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#getLastReadTime()">getLastReadTime</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;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#getLastWriteTime()">getLastWriteTime</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="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketAddress.html" title="class or interface in java.net">SocketAddress</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#getLocalAddress()">getLocalAddress</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns local address.</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/net/SocketAddress.html" title="class or interface in java.net">SocketAddress</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#getRemoteAddress()">getRemoteAddress</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns address of the remote peer.</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/net/Socket.html" title="class or interface in java.net">Socket</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#getSocket()">getSocket</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the underlying socket</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/nio/reactor/IOSessionImpl.html#getSocketTimeout()">getSocketTimeout</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the socket timeout in milliseconds.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#getStartedTime()">getStartedTime</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#getStatus()">getStatus</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns status of the session:</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#hasBufferedInput()">hasBufferedInput</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if the input buffer associated with the session contains data.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#hasBufferedOutput()">hasBufferedOutput</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if the output buffer associated with the session contains
data.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#isClosed()">isClosed</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if the session has been terminated.</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/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#removeAttribute(java.lang.String)">removeAttribute</A></B>(<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>&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes attribute with the given name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A></B>(<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>&nbsp;name,
<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>&nbsp;obj)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method can be used to associate a particular object with the
session by the given attribute name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#setBufferStatus(org.apache.http.nio.reactor.SessionBufferStatus)">setBufferStatus</A></B>(<A HREF="../../../../../../org/apache/http/nio/reactor/SessionBufferStatus.html" title="interface in org.apache.http.nio.reactor">SessionBufferStatus</A>&nbsp;bufferStatus)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Quite often I/O sessions need to maintain internal I/O buffers in order
to transform input / output data prior to returning it to the consumer or
writing it to the underlying channel.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#setEvent(int)">setEvent</A></B>(int&nbsp;op)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Declares interest in a particular I/O event type by updating the event
mask associated with the session.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#setEventMask(int)">setEventMask</A></B>(int&nbsp;ops)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Declares interest in I/O event notifications by setting the event mask
associated with the session</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#setSocketTimeout(int)">setSocketTimeout</A></B>(int&nbsp;timeout)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets value of the socket timeout in milliseconds.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/IOSessionImpl.html#shutdown()">shutdown</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Terminates the session by shutting down the underlying I/O channel.</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/nio/reactor/IOSessionImpl.html#toString()">toString</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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#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;
<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="IOSessionImpl(java.nio.channels.SelectionKey, org.apache.http.impl.nio.reactor.InterestOpsCallback, org.apache.http.impl.nio.reactor.SessionClosedCallback)"><!-- --></A><H3>
IOSessionImpl</H3>
<PRE>
public <B>IOSessionImpl</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key,
org.apache.http.impl.nio.reactor.InterestOpsCallback&nbsp;interestOpsCallback,
<A HREF="../../../../../../org/apache/http/impl/nio/reactor/SessionClosedCallback.html" title="interface in org.apache.http.impl.nio.reactor">SessionClosedCallback</A>&nbsp;sessionClosedCallback)</PRE>
<DL>
<DD>Creates new instance of IOSessionImpl.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the selection key.<DD><CODE>interestOpsCallback</CODE> - interestOps callback.<DD><CODE>sessionClosedCallback</CODE> - session closed callback.<DT><B>Since:</B></DT>
<DD>4.1</DD>
</DL>
</DL>
<HR>
<A NAME="IOSessionImpl(java.nio.channels.SelectionKey, org.apache.http.impl.nio.reactor.SessionClosedCallback)"><!-- --></A><H3>
IOSessionImpl</H3>
<PRE>
public <B>IOSessionImpl</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key,
<A HREF="../../../../../../org/apache/http/impl/nio/reactor/SessionClosedCallback.html" title="interface in org.apache.http.impl.nio.reactor">SessionClosedCallback</A>&nbsp;sessionClosedCallback)</PRE>
<DL>
<DD>Creates new instance of IOSessionImpl.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the selection key.<DD><CODE>sessionClosedCallback</CODE> - session closed callback.</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="channel()"><!-- --></A><H3>
channel</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/ByteChannel.html" title="class or interface in java.nio.channels">ByteChannel</A> <B>channel</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#channel()">IOSession</A></CODE></B></DD>
<DD>Returns the underlying I/O channel associated with this session.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#channel()">channel</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the I/O channel.</DL>
</DD>
</DL>
<HR>
<A NAME="getLocalAddress()"><!-- --></A><H3>
getLocalAddress</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketAddress.html" title="class or interface in java.net">SocketAddress</A> <B>getLocalAddress</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getLocalAddress()">IOSession</A></CODE></B></DD>
<DD>Returns local address.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getLocalAddress()">getLocalAddress</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>socket address.</DL>
</DD>
</DL>
<HR>
<A NAME="getRemoteAddress()"><!-- --></A><H3>
getRemoteAddress</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketAddress.html" title="class or interface in java.net">SocketAddress</A> <B>getRemoteAddress</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getRemoteAddress()">IOSession</A></CODE></B></DD>
<DD>Returns address of the remote peer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getRemoteAddress()">getRemoteAddress</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>socket address.</DL>
</DD>
</DL>
<HR>
<A NAME="getEventMask()"><!-- --></A><H3>
getEventMask</H3>
<PRE>
public int <B>getEventMask</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getEventMask()">IOSession</A></CODE></B></DD>
<DD>Returns mask of I/O evens this session declared interest in.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getEventMask()">getEventMask</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>I/O event mask.</DL>
</DD>
</DL>
<HR>
<A NAME="setEventMask(int)"><!-- --></A><H3>
setEventMask</H3>
<PRE>
public void <B>setEventMask</B>(int&nbsp;ops)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setEventMask(int)">IOSession</A></CODE></B></DD>
<DD>Declares interest in I/O event notifications by setting the event mask
associated with the session
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setEventMask(int)">setEventMask</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>ops</CODE> - new I/O event mask.</DL>
</DD>
</DL>
<HR>
<A NAME="setEvent(int)"><!-- --></A><H3>
setEvent</H3>
<PRE>
public void <B>setEvent</B>(int&nbsp;op)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setEvent(int)">IOSession</A></CODE></B></DD>
<DD>Declares interest in a particular I/O event type by updating the event
mask associated with the session.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setEvent(int)">setEvent</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>op</CODE> - I/O event type.</DL>
</DD>
</DL>
<HR>
<A NAME="clearEvent(int)"><!-- --></A><H3>
clearEvent</H3>
<PRE>
public void <B>clearEvent</B>(int&nbsp;op)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#clearEvent(int)">IOSession</A></CODE></B></DD>
<DD>Clears interest in a particular I/O event type by updating the event
mask associated with the session.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#clearEvent(int)">clearEvent</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>op</CODE> - I/O event type.</DL>
</DD>
</DL>
<HR>
<A NAME="getSocketTimeout()"><!-- --></A><H3>
getSocketTimeout</H3>
<PRE>
public int <B>getSocketTimeout</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getSocketTimeout()">IOSession</A></CODE></B></DD>
<DD>Returns value of the socket timeout in milliseconds. The value of
<code>0</code> signifies the session cannot time out.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getSocketTimeout()">getSocketTimeout</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>socket timeout.</DL>
</DD>
</DL>
<HR>
<A NAME="setSocketTimeout(int)"><!-- --></A><H3>
setSocketTimeout</H3>
<PRE>
public void <B>setSocketTimeout</B>(int&nbsp;timeout)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setSocketTimeout(int)">IOSession</A></CODE></B></DD>
<DD>Sets value of the socket timeout in milliseconds. The value of
<code>0</code> signifies the session cannot time out.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setSocketTimeout(int)">setSocketTimeout</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>timeout</CODE> - socket timeout.</DL>
</DD>
</DL>
<HR>
<A NAME="close()"><!-- --></A><H3>
close</H3>
<PRE>
public void <B>close</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#close()">IOSession</A></CODE></B></DD>
<DD>Terminates the session gracefully and closes the underlying I/O channel.
This method ensures that session termination handshake, such as the one
used by the SSL/TLS protocol, is correctly carried out.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getStatus()"><!-- --></A><H3>
getStatus</H3>
<PRE>
public int <B>getStatus</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getStatus()">IOSession</A></CODE></B></DD>
<DD>Returns status of the session:
<p>
<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#ACTIVE"><CODE>IOSession.ACTIVE</CODE></A>: session is active.
<p>
<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#CLOSING"><CODE>IOSession.CLOSING</CODE></A>: session is being closed.
<p>
<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#CLOSED"><CODE>IOSession.CLOSED</CODE></A>: session has been terminated.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getStatus()">getStatus</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>session status.</DL>
</DD>
</DL>
<HR>
<A NAME="isClosed()"><!-- --></A><H3>
isClosed</H3>
<PRE>
public boolean <B>isClosed</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#isClosed()">IOSession</A></CODE></B></DD>
<DD>Determines if the session has been terminated.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#isClosed()">isClosed</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD><code>true</code> if the session has been terminated,
<code>false</code> otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="shutdown()"><!-- --></A><H3>
shutdown</H3>
<PRE>
public void <B>shutdown</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#shutdown()">IOSession</A></CODE></B></DD>
<DD>Terminates the session by shutting down the underlying I/O channel.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="hasBufferedInput()"><!-- --></A><H3>
hasBufferedInput</H3>
<PRE>
public boolean <B>hasBufferedInput</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#hasBufferedInput()">IOSession</A></CODE></B></DD>
<DD>Determines if the input buffer associated with the session contains data.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#hasBufferedInput()">hasBufferedInput</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD><code>true</code> if the session input buffer contains data,
<code>false</code> otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="hasBufferedOutput()"><!-- --></A><H3>
hasBufferedOutput</H3>
<PRE>
public boolean <B>hasBufferedOutput</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#hasBufferedOutput()">IOSession</A></CODE></B></DD>
<DD>Determines if the output buffer associated with the session contains
data.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#hasBufferedOutput()">hasBufferedOutput</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD><code>true</code> if the session output buffer contains data,
<code>false</code> otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="setBufferStatus(org.apache.http.nio.reactor.SessionBufferStatus)"><!-- --></A><H3>
setBufferStatus</H3>
<PRE>
public void <B>setBufferStatus</B>(<A HREF="../../../../../../org/apache/http/nio/reactor/SessionBufferStatus.html" title="interface in org.apache.http.nio.reactor">SessionBufferStatus</A>&nbsp;bufferStatus)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setBufferStatus(org.apache.http.nio.reactor.SessionBufferStatus)">IOSession</A></CODE></B></DD>
<DD>Quite often I/O sessions need to maintain internal I/O buffers in order
to transform input / output data prior to returning it to the consumer or
writing it to the underlying channel. Memory management in HttpCore NIO
is based on the fundamental principle that the data consumer can read
only as much input data as it can process without having to allocate more
memory. That means, quite often some input data may remain unread in one
of the internal or external session buffers. The I/O reactor can query
the status of these session buffers, and make sure the consumer gets
notified correctly as more data gets stored in one of the session
buffers, thus allowing the consumer to read the remaining data once it
is able to process it
<p>
I/O sessions can be made aware of the status of external session buffers
using the <A HREF="../../../../../../org/apache/http/nio/reactor/SessionBufferStatus.html" title="interface in org.apache.http.nio.reactor"><CODE>SessionBufferStatus</CODE></A> interface.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setBufferStatus(org.apache.http.nio.reactor.SessionBufferStatus)">setBufferStatus</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3>
getAttribute</H3>
<PRE>
public <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>getAttribute</B>(<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>&nbsp;name)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getAttribute(java.lang.String)">IOSession</A></CODE></B></DD>
<DD>Returns the value of the attribute with the given name. The value can be
<code>null</code> if not set.
<p>
The value of the session attachment object can be obtained using
<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#ATTACHMENT_KEY"><CODE>IOSession.ATTACHMENT_KEY</CODE></A> name.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#getAttribute(java.lang.String)">getAttribute</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - name of the attribute.
<DT><B>Returns:</B><DD>value of the attribute.<DT><B>See Also:</B><DD><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setAttribute(java.lang.String, java.lang.Object)"><CODE>IOSession.setAttribute(String, Object)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="removeAttribute(java.lang.String)"><!-- --></A><H3>
removeAttribute</H3>
<PRE>
public <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>removeAttribute</B>(<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>&nbsp;name)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#removeAttribute(java.lang.String)">IOSession</A></CODE></B></DD>
<DD>Removes attribute with the given name.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#removeAttribute(java.lang.String)">removeAttribute</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - name of the attribute to be removed.
<DT><B>Returns:</B><DD>value of the removed attribute.<DT><B>See Also:</B><DD><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setAttribute(java.lang.String, java.lang.Object)"><CODE>IOSession.setAttribute(String, Object)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="setAttribute(java.lang.String, java.lang.Object)"><!-- --></A><H3>
setAttribute</H3>
<PRE>
public void <B>setAttribute</B>(<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>&nbsp;name,
<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>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setAttribute(java.lang.String, java.lang.Object)">IOSession</A></CODE></B></DD>
<DD>This method can be used to associate a particular object with the
session by the given attribute name.
<p>
I/O sessions are not bound to an execution thread, therefore one cannot
use the context of the thread to store a session's state. All details
about a particular session must be stored within the session itself.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - name of the attribute.<DD><CODE>obj</CODE> - value of the attribute.</DL>
</DD>
</DL>
<HR>
<A NAME="getStartedTime()"><!-- --></A><H3>
getStartedTime</H3>
<PRE>
public long <B>getStartedTime</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getLastReadTime()"><!-- --></A><H3>
getLastReadTime</H3>
<PRE>
public long <B>getLastReadTime</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getLastWriteTime()"><!-- --></A><H3>
getLastWriteTime</H3>
<PRE>
public long <B>getLastWriteTime</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getLastAccessTime()"><!-- --></A><H3>
getLastAccessTime</H3>
<PRE>
public long <B>getLastAccessTime</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="toString()"><!-- --></A><H3>
toString</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>toString</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><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></CODE> in class <CODE><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></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getSocket()"><!-- --></A><H3>
getSocket</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html" title="class or interface in java.net">Socket</A> <B>getSocket</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/SocketAccessor.html#getSocket()">SocketAccessor</A></CODE></B></DD>
<DD>Return the underlying socket
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/SocketAccessor.html#getSocket()">getSocket</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/SocketAccessor.html" title="interface in org.apache.http.nio.reactor">SocketAccessor</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>- the underlying Socket, may be <code>null</code>.</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/IOSessionImpl.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/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/http/impl/nio/reactor/ListenerEndpointClosedCallback.html" title="interface in org.apache.http.impl.nio.reactor"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/apache/http/impl/nio/reactor/IOSessionImpl.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IOSessionImpl.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>