<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>AbstractIoSession xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/core/session/AbstractIoSession.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> *    <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.core.session;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.io.FileInputStream;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.net.SocketAddress;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.nio.channels.FileChannel;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Queue;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.atomic.AtomicBoolean;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.atomic.AtomicInteger;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.atomic.AtomicLong;
<a name="33" href="#33">33</a>  
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.file.DefaultFileRegion;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilterChain;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.CloseFuture;
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.DefaultCloseFuture;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.DefaultReadFuture;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.DefaultWriteFuture;
<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.IoFutureListener;
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.ReadFuture;
<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.WriteFuture;
<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.AbstractIoService;
<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.IoAcceptor;
<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.IoProcessor;
<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.IoService;
<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.TransportMetadata;
<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.DefaultWriteRequest;
<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteException;
<a name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteRequest;
<a name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteRequestQueue;
<a name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteTimeoutException;
<a name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteToClosedSessionException;
<a name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.util.CircularQueue;
<a name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.util.ExceptionMonitor;
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment">/**</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment"> * Base implementation of {@link IoSession}.</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment"> *</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment"> * @version $Rev: 756270 $, $Date: 2009-03-20 00:49:57 +0100 (Fri, 20 Mar 2009) $</em>
<a name="64" href="#64">64</a>  <em class="jxr_javadoccomment"> */</em>
<a name="65" href="#65">65</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> implements <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> {
<a name="66" href="#66">66</a>  
<a name="67" href="#67">67</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a> READY_READ_FUTURES_KEY =
<a name="68" href="#68">68</a>          <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a>(AbstractIoSession.<strong class="jxr_keyword">class</strong>, <span class="jxr_string">"readyReadFutures"</span>);
<a name="69" href="#69">69</a>      
<a name="70" href="#70">70</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a> WAITING_READ_FUTURES_KEY =
<a name="71" href="#71">71</a>          <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a>(AbstractIoSession.<strong class="jxr_keyword">class</strong>, <span class="jxr_string">"waitingReadFutures"</span>);
<a name="72" href="#72">72</a>  
<a name="73" href="#73">73</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> IoFutureListener&lt;CloseFuture&gt; SCHEDULED_COUNTER_RESETTER =
<a name="74" href="#74">74</a>          <strong class="jxr_keyword">new</strong> IoFutureListener&lt;CloseFuture&gt;() {
<a name="75" href="#75">75</a>              <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> operationComplete(<a href="../../../../../org/apache/mina/core/future/CloseFuture.html">CloseFuture</a> future) {
<a name="76" href="#76">76</a>                  <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> s = (AbstractIoSession) future.getSession();
<a name="77" href="#77">77</a>                  s.scheduledWriteBytes.set(0);
<a name="78" href="#78">78</a>                  s.scheduledWriteMessages.set(0);
<a name="79" href="#79">79</a>                  s.readBytesThroughput = 0;
<a name="80" href="#80">80</a>                  s.readMessagesThroughput = 0;
<a name="81" href="#81">81</a>                  s.writtenBytesThroughput = 0;
<a name="82" href="#82">82</a>                  s.writtenMessagesThroughput = 0;
<a name="83" href="#83">83</a>              }
<a name="84" href="#84">84</a>      };
<a name="85" href="#85">85</a>  
<a name="86" href="#86">86</a>      <em class="jxr_javadoccomment">/**</em>
<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment">     * An internal write request object that triggers session close.</em>
<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment">     * @see #writeRequestQueue</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     */</em>
<a name="90" href="#90">90</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> CLOSE_REQUEST =
<a name="91" href="#91">91</a>          <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/write/DefaultWriteRequest.html">DefaultWriteRequest</a>(<strong class="jxr_keyword">new</strong> Object());
<a name="92" href="#92">92</a>  
<a name="93" href="#93">93</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Object lock = <strong class="jxr_keyword">new</strong> Object();
<a name="94" href="#94">94</a>  
<a name="95" href="#95">95</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/session/IoSessionAttributeMap.html">IoSessionAttributeMap</a> attributes;
<a name="96" href="#96">96</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html">WriteRequestQueue</a> writeRequestQueue;
<a name="97" href="#97">97</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> currentWriteRequest;
<a name="98" href="#98">98</a>      
<a name="99" href="#99">99</a>      <em class="jxr_comment">// The Session creation's time */</em>
<a name="100" href="#100">100</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> creationTime;
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> An id generator guaranteed to generate unique IDs for the session */</em>
<a name="103" href="#103">103</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> AtomicLong idGenerator = <strong class="jxr_keyword">new</strong> AtomicLong(0);
<a name="104" href="#104">104</a>     
<a name="105" href="#105">105</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The session ID */</em>
<a name="106" href="#106">106</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> sessionId;
<a name="107" href="#107">107</a>     
<a name="108" href="#108">108</a>     <em class="jxr_javadoccomment">/**</em>
<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">     * A future that will be set 'closed' when the connection is closed.</em>
<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">     */</em>
<a name="111" href="#111">111</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/future/CloseFuture.html">CloseFuture</a> closeFuture = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/future/DefaultCloseFuture.html">DefaultCloseFuture</a>(<strong class="jxr_keyword">this</strong>);
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> closing;
<a name="114" href="#114">114</a>     
<a name="115" href="#115">115</a>     <em class="jxr_comment">// traffic control</em>
<a name="116" href="#116">116</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> readSuspended=false;
<a name="117" href="#117">117</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> writeSuspended=false;
<a name="118" href="#118">118</a> 
<a name="119" href="#119">119</a>     <em class="jxr_comment">// Status variables</em>
<a name="120" href="#120">120</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicBoolean scheduledForFlush = <strong class="jxr_keyword">new</strong> AtomicBoolean();
<a name="121" href="#121">121</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicInteger scheduledWriteBytes = <strong class="jxr_keyword">new</strong> AtomicInteger();
<a name="122" href="#122">122</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicInteger scheduledWriteMessages = <strong class="jxr_keyword">new</strong> AtomicInteger();
<a name="123" href="#123">123</a> 
<a name="124" href="#124">124</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> readBytes;
<a name="125" href="#125">125</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> writtenBytes;
<a name="126" href="#126">126</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> readMessages;
<a name="127" href="#127">127</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> writtenMessages;
<a name="128" href="#128">128</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastReadTime;
<a name="129" href="#129">129</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastWriteTime;
<a name="130" href="#130">130</a> 
<a name="131" href="#131">131</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastThroughputCalculationTime;
<a name="132" href="#132">132</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastReadBytes;
<a name="133" href="#133">133</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastWrittenBytes;
<a name="134" href="#134">134</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastReadMessages;
<a name="135" href="#135">135</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastWrittenMessages;
<a name="136" href="#136">136</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> readBytesThroughput;
<a name="137" href="#137">137</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> writtenBytesThroughput;
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> readMessagesThroughput;
<a name="139" href="#139">139</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">double</strong> writtenMessagesThroughput;
<a name="140" href="#140">140</a> 
<a name="141" href="#141">141</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> idleCountForBoth;
<a name="142" href="#142">142</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> idleCountForRead;
<a name="143" href="#143">143</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> idleCountForWrite;
<a name="144" href="#144">144</a> 
<a name="145" href="#145">145</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastIdleTimeForBoth;
<a name="146" href="#146">146</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastIdleTimeForRead;
<a name="147" href="#147">147</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastIdleTimeForWrite;
<a name="148" href="#148">148</a> 
<a name="149" href="#149">149</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> deferDecreaseReadBuffer = <strong class="jxr_keyword">true</strong>;
<a name="150" href="#150">150</a> 
<a name="151" href="#151">151</a>     <em class="jxr_javadoccomment">/**</em>
<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">     */</em>
<a name="154" href="#154">154</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a>() {
<a name="155" href="#155">155</a>         <em class="jxr_comment">// Initialize all the Session counters to the current time </em>
<a name="156" href="#156">156</a>         <strong class="jxr_keyword">long</strong> currentTime = System.currentTimeMillis();
<a name="157" href="#157">157</a>         creationTime = currentTime;
<a name="158" href="#158">158</a>         lastThroughputCalculationTime = currentTime;
<a name="159" href="#159">159</a>         lastReadTime = currentTime;
<a name="160" href="#160">160</a>         lastWriteTime = currentTime;
<a name="161" href="#161">161</a>         lastIdleTimeForBoth = currentTime;
<a name="162" href="#162">162</a>         lastIdleTimeForRead = currentTime;
<a name="163" href="#163">163</a>         lastIdleTimeForWrite = currentTime;
<a name="164" href="#164">164</a>         
<a name="165" href="#165">165</a>         <em class="jxr_comment">// TODO add documentation</em>
<a name="166" href="#166">166</a>         closeFuture.addListener(SCHEDULED_COUNTER_RESETTER);
<a name="167" href="#167">167</a>         
<a name="168" href="#168">168</a>         <em class="jxr_comment">// Set a new ID for this session</em>
<a name="169" href="#169">169</a>         sessionId = idGenerator.incrementAndGet();
<a name="170" href="#170">170</a>     }
<a name="171" href="#171">171</a> 
<a name="172" href="#172">172</a>     <em class="jxr_javadoccomment">/**</em>
<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     * </em>
<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     * We use an AtomicLong to guarantee that the session ID are</em>
<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     * unique.</em>
<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     */</em>
<a name="178" href="#178">178</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getId() {
<a name="179" href="#179">179</a>         <strong class="jxr_keyword">return</strong> sessionId;
<a name="180" href="#180">180</a>     }
<a name="181" href="#181">181</a> 
<a name="182" href="#182">182</a>     <em class="jxr_javadoccomment">/**</em>
<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">     */</em>
<a name="185" href="#185">185</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <a href="../../../../../org/apache/mina/core/service/IoProcessor.html">IoProcessor</a> getProcessor();
<a name="186" href="#186">186</a> 
<a name="187" href="#187">187</a>     <em class="jxr_javadoccomment">/**</em>
<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">     */</em>
<a name="190" href="#190">190</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isConnected() {
<a name="191" href="#191">191</a>         <strong class="jxr_keyword">return</strong> !closeFuture.isClosed();
<a name="192" href="#192">192</a>     }
<a name="193" href="#193">193</a> 
<a name="194" href="#194">194</a>     <em class="jxr_javadoccomment">/**</em>
<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">     */</em>
<a name="197" href="#197">197</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isClosing() {
<a name="198" href="#198">198</a>         <strong class="jxr_keyword">return</strong> closing || closeFuture.isClosed();
<a name="199" href="#199">199</a>     }
<a name="200" href="#200">200</a> 
<a name="201" href="#201">201</a>     <em class="jxr_javadoccomment">/**</em>
<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">     */</em>
<a name="204" href="#204">204</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/future/CloseFuture.html">CloseFuture</a> getCloseFuture() {
<a name="205" href="#205">205</a>         <strong class="jxr_keyword">return</strong> closeFuture;
<a name="206" href="#206">206</a>     }
<a name="207" href="#207">207</a> 
<a name="208" href="#208">208</a>     <em class="jxr_javadoccomment">/**</em>
<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="210" href="#210">210</a> <em class="jxr_javadoccomment">     */</em>
<a name="211" href="#211">211</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isScheduledForFlush() {
<a name="212" href="#212">212</a>         <strong class="jxr_keyword">return</strong> scheduledForFlush.get();
<a name="213" href="#213">213</a>     }
<a name="214" href="#214">214</a> 
<a name="215" href="#215">215</a>     <em class="jxr_javadoccomment">/**</em>
<a name="216" href="#216">216</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="217" href="#217">217</a> <em class="jxr_javadoccomment">     */</em>
<a name="218" href="#218">218</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> setScheduledForFlush(<strong class="jxr_keyword">boolean</strong> flag) {
<a name="219" href="#219">219</a>         <strong class="jxr_keyword">if</strong> (flag) {
<a name="220" href="#220">220</a>             <strong class="jxr_keyword">return</strong> scheduledForFlush.compareAndSet(false, <strong class="jxr_keyword">true</strong>);
<a name="221" href="#221">221</a>         } <strong class="jxr_keyword">else</strong> {
<a name="222" href="#222">222</a>             scheduledForFlush.set(false);
<a name="223" href="#223">223</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a name="224" href="#224">224</a>         }
<a name="225" href="#225">225</a>     }
<a name="226" href="#226">226</a> 
<a name="227" href="#227">227</a>     <em class="jxr_javadoccomment">/**</em>
<a name="228" href="#228">228</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="229" href="#229">229</a> <em class="jxr_javadoccomment">     */</em>
<a name="230" href="#230">230</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/future/CloseFuture.html">CloseFuture</a> close(<strong class="jxr_keyword">boolean</strong> rightNow) {
<a name="231" href="#231">231</a>         <strong class="jxr_keyword">if</strong> (rightNow) {
<a name="232" href="#232">232</a>             <strong class="jxr_keyword">return</strong> close();
<a name="233" href="#233">233</a>         } <strong class="jxr_keyword">else</strong> {
<a name="234" href="#234">234</a>             <strong class="jxr_keyword">return</strong> closeOnFlush();
<a name="235" href="#235">235</a>         }
<a name="236" href="#236">236</a>     }
<a name="237" href="#237">237</a> 
<a name="238" href="#238">238</a>     <em class="jxr_javadoccomment">/**</em>
<a name="239" href="#239">239</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="240" href="#240">240</a> <em class="jxr_javadoccomment">     */</em>
<a name="241" href="#241">241</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/future/CloseFuture.html">CloseFuture</a> close() {
<a name="242" href="#242">242</a>         <strong class="jxr_keyword">synchronized</strong> (lock) {
<a name="243" href="#243">243</a>             <strong class="jxr_keyword">if</strong> (isClosing()) {
<a name="244" href="#244">244</a>                 <strong class="jxr_keyword">return</strong> closeFuture;
<a name="245" href="#245">245</a>             } <strong class="jxr_keyword">else</strong> {
<a name="246" href="#246">246</a>                 closing = <strong class="jxr_keyword">true</strong>;
<a name="247" href="#247">247</a>             }
<a name="248" href="#248">248</a>         }
<a name="249" href="#249">249</a> 
<a name="250" href="#250">250</a>         getFilterChain().fireFilterClose();
<a name="251" href="#251">251</a>         <strong class="jxr_keyword">return</strong> closeFuture;
<a name="252" href="#252">252</a>     }
<a name="253" href="#253">253</a> 
<a name="254" href="#254">254</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/future/CloseFuture.html">CloseFuture</a> closeOnFlush() {
<a name="255" href="#255">255</a>         getWriteRequestQueue().offer(<strong class="jxr_keyword">this</strong>, CLOSE_REQUEST);
<a name="256" href="#256">256</a>         getProcessor().flush(<strong class="jxr_keyword">this</strong>);
<a name="257" href="#257">257</a>         <strong class="jxr_keyword">return</strong> closeFuture;
<a name="258" href="#258">258</a>     }
<a name="259" href="#259">259</a> 
<a name="260" href="#260">260</a>     <em class="jxr_javadoccomment">/**</em>
<a name="261" href="#261">261</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="262" href="#262">262</a> <em class="jxr_javadoccomment">     */</em>
<a name="263" href="#263">263</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/future/ReadFuture.html">ReadFuture</a> read() {
<a name="264" href="#264">264</a>         <strong class="jxr_keyword">if</strong> (!getConfig().isUseReadOperation()) {
<a name="265" href="#265">265</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"useReadOperation is not enabled."</span>);
<a name="266" href="#266">266</a>         }
<a name="267" href="#267">267</a> 
<a name="268" href="#268">268</a>         Queue&lt;ReadFuture&gt; readyReadFutures = getReadyReadFutures();
<a name="269" href="#269">269</a>         <a href="../../../../../org/apache/mina/core/future/ReadFuture.html">ReadFuture</a> future;
<a name="270" href="#270">270</a>         <strong class="jxr_keyword">synchronized</strong> (readyReadFutures) {
<a name="271" href="#271">271</a>             future = readyReadFutures.poll();
<a name="272" href="#272">272</a>             <strong class="jxr_keyword">if</strong> (future != <strong class="jxr_keyword">null</strong>) {
<a name="273" href="#273">273</a>                 <strong class="jxr_keyword">if</strong> (future.isClosed()) {
<a name="274" href="#274">274</a>                     <em class="jxr_comment">// Let other readers get notified.</em>
<a name="275" href="#275">275</a>                     readyReadFutures.offer(future);
<a name="276" href="#276">276</a>                 }
<a name="277" href="#277">277</a>             } <strong class="jxr_keyword">else</strong> {
<a name="278" href="#278">278</a>                 future = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/future/DefaultReadFuture.html">DefaultReadFuture</a>(<strong class="jxr_keyword">this</strong>);
<a name="279" href="#279">279</a>                 getWaitingReadFutures().offer(future);
<a name="280" href="#280">280</a>             }
<a name="281" href="#281">281</a>         }
<a name="282" href="#282">282</a> 
<a name="283" href="#283">283</a>         <strong class="jxr_keyword">return</strong> future;
<a name="284" href="#284">284</a>     }
<a name="285" href="#285">285</a> 
<a name="286" href="#286">286</a>     <em class="jxr_javadoccomment">/**</em>
<a name="287" href="#287">287</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="288" href="#288">288</a> <em class="jxr_javadoccomment">     */</em>
<a name="289" href="#289">289</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> offerReadFuture(Object message) {
<a name="290" href="#290">290</a>         newReadFuture().setRead(message);
<a name="291" href="#291">291</a>     }
<a name="292" href="#292">292</a> 
<a name="293" href="#293">293</a>     <em class="jxr_javadoccomment">/**</em>
<a name="294" href="#294">294</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="295" href="#295">295</a> <em class="jxr_javadoccomment">     */</em>
<a name="296" href="#296">296</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> offerFailedReadFuture(Throwable exception) {
<a name="297" href="#297">297</a>         newReadFuture().setException(exception);
<a name="298" href="#298">298</a>     }
<a name="299" href="#299">299</a> 
<a name="300" href="#300">300</a>     <em class="jxr_javadoccomment">/**</em>
<a name="301" href="#301">301</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="302" href="#302">302</a> <em class="jxr_javadoccomment">     */</em>
<a name="303" href="#303">303</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> offerClosedReadFuture() {
<a name="304" href="#304">304</a>         Queue&lt;ReadFuture&gt; readyReadFutures = getReadyReadFutures();
<a name="305" href="#305">305</a>         <strong class="jxr_keyword">synchronized</strong> (readyReadFutures) {
<a name="306" href="#306">306</a>             newReadFuture().setClosed();
<a name="307" href="#307">307</a>         }
<a name="308" href="#308">308</a>     }
<a name="309" href="#309">309</a> 
<a name="310" href="#310">310</a>     <em class="jxr_javadoccomment">/**</em>
<a name="311" href="#311">311</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="312" href="#312">312</a> <em class="jxr_javadoccomment">     */</em>
<a name="313" href="#313">313</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/future/ReadFuture.html">ReadFuture</a> newReadFuture() {
<a name="314" href="#314">314</a>         Queue&lt;ReadFuture&gt; readyReadFutures = getReadyReadFutures();
<a name="315" href="#315">315</a>         Queue&lt;ReadFuture&gt; waitingReadFutures = getWaitingReadFutures();
<a name="316" href="#316">316</a>         <a href="../../../../../org/apache/mina/core/future/ReadFuture.html">ReadFuture</a> future;
<a name="317" href="#317">317</a>         <strong class="jxr_keyword">synchronized</strong> (readyReadFutures) {
<a name="318" href="#318">318</a>             future = waitingReadFutures.poll();
<a name="319" href="#319">319</a>             <strong class="jxr_keyword">if</strong> (future == <strong class="jxr_keyword">null</strong>) {
<a name="320" href="#320">320</a>                 future = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/future/DefaultReadFuture.html">DefaultReadFuture</a>(<strong class="jxr_keyword">this</strong>);
<a name="321" href="#321">321</a>                 readyReadFutures.offer(future);
<a name="322" href="#322">322</a>             }
<a name="323" href="#323">323</a>         }
<a name="324" href="#324">324</a>         <strong class="jxr_keyword">return</strong> future;
<a name="325" href="#325">325</a>     }
<a name="326" href="#326">326</a> 
<a name="327" href="#327">327</a>     <em class="jxr_javadoccomment">/**</em>
<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="329" href="#329">329</a> <em class="jxr_javadoccomment">     */</em>
<a name="330" href="#330">330</a>     <strong class="jxr_keyword">private</strong> Queue&lt;ReadFuture&gt; getReadyReadFutures() {
<a name="331" href="#331">331</a>         Queue&lt;ReadFuture&gt; readyReadFutures =
<a name="332" href="#332">332</a>             (Queue&lt;ReadFuture&gt;) getAttribute(READY_READ_FUTURES_KEY);
<a name="333" href="#333">333</a>         <strong class="jxr_keyword">if</strong> (readyReadFutures == <strong class="jxr_keyword">null</strong>) {
<a name="334" href="#334">334</a>             readyReadFutures = <strong class="jxr_keyword">new</strong> CircularQueue&lt;ReadFuture&gt;();
<a name="335" href="#335">335</a> 
<a name="336" href="#336">336</a>             Queue&lt;ReadFuture&gt; oldReadyReadFutures =
<a name="337" href="#337">337</a>                 (Queue&lt;ReadFuture&gt;) setAttributeIfAbsent(
<a name="338" href="#338">338</a>                         READY_READ_FUTURES_KEY, readyReadFutures);
<a name="339" href="#339">339</a>             <strong class="jxr_keyword">if</strong> (oldReadyReadFutures != <strong class="jxr_keyword">null</strong>) {
<a name="340" href="#340">340</a>                 readyReadFutures = oldReadyReadFutures;
<a name="341" href="#341">341</a>             }
<a name="342" href="#342">342</a>         }
<a name="343" href="#343">343</a>         <strong class="jxr_keyword">return</strong> readyReadFutures;
<a name="344" href="#344">344</a>     }
<a name="345" href="#345">345</a> 
<a name="346" href="#346">346</a>     <em class="jxr_javadoccomment">/**</em>
<a name="347" href="#347">347</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="348" href="#348">348</a> <em class="jxr_javadoccomment">     */</em>
<a name="349" href="#349">349</a>     <strong class="jxr_keyword">private</strong> Queue&lt;ReadFuture&gt; getWaitingReadFutures() {
<a name="350" href="#350">350</a>         Queue&lt;ReadFuture&gt; waitingReadyReadFutures =
<a name="351" href="#351">351</a>             (Queue&lt;ReadFuture&gt;) getAttribute(WAITING_READ_FUTURES_KEY);
<a name="352" href="#352">352</a>         <strong class="jxr_keyword">if</strong> (waitingReadyReadFutures == <strong class="jxr_keyword">null</strong>) {
<a name="353" href="#353">353</a>             waitingReadyReadFutures = <strong class="jxr_keyword">new</strong> CircularQueue&lt;ReadFuture&gt;();
<a name="354" href="#354">354</a> 
<a name="355" href="#355">355</a>             Queue&lt;ReadFuture&gt; oldWaitingReadyReadFutures =
<a name="356" href="#356">356</a>                 (Queue&lt;ReadFuture&gt;) setAttributeIfAbsent(
<a name="357" href="#357">357</a>                         WAITING_READ_FUTURES_KEY, waitingReadyReadFutures);
<a name="358" href="#358">358</a>             <strong class="jxr_keyword">if</strong> (oldWaitingReadyReadFutures != <strong class="jxr_keyword">null</strong>) {
<a name="359" href="#359">359</a>                 waitingReadyReadFutures = oldWaitingReadyReadFutures;
<a name="360" href="#360">360</a>             }
<a name="361" href="#361">361</a>         }
<a name="362" href="#362">362</a>         <strong class="jxr_keyword">return</strong> waitingReadyReadFutures;
<a name="363" href="#363">363</a>     }
<a name="364" href="#364">364</a> 
<a name="365" href="#365">365</a>     <em class="jxr_javadoccomment">/**</em>
<a name="366" href="#366">366</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="367" href="#367">367</a> <em class="jxr_javadoccomment">     */</em>
<a name="368" href="#368">368</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/future/WriteFuture.html">WriteFuture</a> write(Object message) {
<a name="369" href="#369">369</a>         <strong class="jxr_keyword">return</strong> write(message, <strong class="jxr_keyword">null</strong>);
<a name="370" href="#370">370</a>     }
<a name="371" href="#371">371</a> 
<a name="372" href="#372">372</a>     <em class="jxr_javadoccomment">/**</em>
<a name="373" href="#373">373</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="374" href="#374">374</a> <em class="jxr_javadoccomment">     */</em>
<a name="375" href="#375">375</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/future/WriteFuture.html">WriteFuture</a> write(Object message, SocketAddress remoteAddress) {
<a name="376" href="#376">376</a>         <strong class="jxr_keyword">if</strong> (message == <strong class="jxr_keyword">null</strong>) {
<a name="377" href="#377">377</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"message"</span>);
<a name="378" href="#378">378</a>         }
<a name="379" href="#379">379</a> 
<a name="380" href="#380">380</a>         <em class="jxr_comment">// We can't send a message to a connected session if we don't have </em>
<a name="381" href="#381">381</a>         <em class="jxr_comment">// the remote address</em>
<a name="382" href="#382">382</a>         <strong class="jxr_keyword">if</strong> (!getTransportMetadata().isConnectionless() &amp;&amp;
<a name="383" href="#383">383</a>                 remoteAddress != <strong class="jxr_keyword">null</strong>) {
<a name="384" href="#384">384</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException();
<a name="385" href="#385">385</a>         }
<a name="386" href="#386">386</a> 
<a name="387" href="#387">387</a>         
<a name="388" href="#388">388</a>         <em class="jxr_comment">// If the session has been closed or is closing, we can't either</em>
<a name="389" href="#389">389</a>         <em class="jxr_comment">// send a message to the remote side. We generate a future</em>
<a name="390" href="#390">390</a>         <em class="jxr_comment">// containing an exception.</em>
<a name="391" href="#391">391</a>         <strong class="jxr_keyword">if</strong> (isClosing() || !isConnected()) {
<a name="392" href="#392">392</a>             <a href="../../../../../org/apache/mina/core/future/WriteFuture.html">WriteFuture</a> future = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/future/DefaultWriteFuture.html">DefaultWriteFuture</a>(<strong class="jxr_keyword">this</strong>);
<a name="393" href="#393">393</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> request = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/write/DefaultWriteRequest.html">DefaultWriteRequest</a>(message, future, remoteAddress);
<a name="394" href="#394">394</a>             <a href="../../../../../org/apache/mina/core/write/WriteException.html">WriteException</a> writeException = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/write/WriteToClosedSessionException.html">WriteToClosedSessionException</a>(request);
<a name="395" href="#395">395</a>             future.setException(writeException);
<a name="396" href="#396">396</a>             <strong class="jxr_keyword">return</strong> future;
<a name="397" href="#397">397</a>         }
<a name="398" href="#398">398</a> 
<a name="399" href="#399">399</a>         FileChannel openedFileChannel = <strong class="jxr_keyword">null</strong>;
<a name="400" href="#400">400</a>         
<a name="401" href="#401">401</a>         <em class="jxr_comment">// TODO: remove this code as soon as we use InputStream</em>
<a name="402" href="#402">402</a>         <em class="jxr_comment">// instead of Object for the message.</em>
<a name="403" href="#403">403</a>         <strong class="jxr_keyword">try</strong> {
<a name="404" href="#404">404</a>             <strong class="jxr_keyword">if</strong> (message instanceof IoBuffer
<a name="405" href="#405">405</a>                     &amp;&amp; !((IoBuffer) message).hasRemaining()) {
<a name="406" href="#406">406</a>                 <em class="jxr_comment">// Nothing to write : probably an error in the user code</em>
<a name="407" href="#407">407</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="408" href="#408">408</a>                 <span class="jxr_string">"message is empty. Forgot to call flip()?"</span>);
<a name="409" href="#409">409</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (message instanceof FileChannel) {
<a name="410" href="#410">410</a>                 FileChannel fileChannel = (FileChannel) message;
<a name="411" href="#411">411</a>                 message = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/file/DefaultFileRegion.html">DefaultFileRegion</a>(fileChannel, 0, fileChannel.size());
<a name="412" href="#412">412</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (message instanceof File) {
<a name="413" href="#413">413</a>                 File file = (File) message;
<a name="414" href="#414">414</a>                 openedFileChannel = <strong class="jxr_keyword">new</strong> FileInputStream(file).getChannel();
<a name="415" href="#415">415</a>                 message = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/file/DefaultFileRegion.html">DefaultFileRegion</a>(openedFileChannel, 0, openedFileChannel.size());
<a name="416" href="#416">416</a>             }
<a name="417" href="#417">417</a>         } <strong class="jxr_keyword">catch</strong> (IOException e) {
<a name="418" href="#418">418</a>             ExceptionMonitor.getInstance().exceptionCaught(e);
<a name="419" href="#419">419</a>             <strong class="jxr_keyword">return</strong> DefaultWriteFuture.newNotWrittenFuture(<strong class="jxr_keyword">this</strong>, e);
<a name="420" href="#420">420</a>         }
<a name="421" href="#421">421</a> 
<a name="422" href="#422">422</a>         <em class="jxr_comment">// Now, we can write the message. First, create a future</em>
<a name="423" href="#423">423</a>         <a href="../../../../../org/apache/mina/core/future/WriteFuture.html">WriteFuture</a> writeFuture = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/future/DefaultWriteFuture.html">DefaultWriteFuture</a>(<strong class="jxr_keyword">this</strong>);
<a name="424" href="#424">424</a>         <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/write/DefaultWriteRequest.html">DefaultWriteRequest</a>(message, writeFuture, remoteAddress);
<a name="425" href="#425">425</a>         
<a name="426" href="#426">426</a>         <em class="jxr_comment">// Then, get the chain and inject the WriteRequest into it</em>
<a name="427" href="#427">427</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">IoFilterChain</a> filterChain = getFilterChain();
<a name="428" href="#428">428</a>         filterChain.fireFilterWrite(writeRequest);
<a name="429" href="#429">429</a> 
<a name="430" href="#430">430</a>         <em class="jxr_comment">// TODO : This is not our business ! The caller has created a FileChannel,</em>
<a name="431" href="#431">431</a>         <em class="jxr_comment">// he has to close it !</em>
<a name="432" href="#432">432</a>         <strong class="jxr_keyword">if</strong> (openedFileChannel != <strong class="jxr_keyword">null</strong>) {
<a name="433" href="#433">433</a>             <em class="jxr_comment">// If we opened a FileChannel, it needs to be closed when the write has completed</em>
<a name="434" href="#434">434</a>             <strong class="jxr_keyword">final</strong> FileChannel finalChannel = openedFileChannel;
<a name="435" href="#435">435</a>             writeFuture.addListener(<strong class="jxr_keyword">new</strong> IoFutureListener&lt;WriteFuture&gt;() {
<a name="436" href="#436">436</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> operationComplete(<a href="../../../../../org/apache/mina/core/future/WriteFuture.html">WriteFuture</a> future) {
<a name="437" href="#437">437</a>                     <strong class="jxr_keyword">try</strong> {
<a name="438" href="#438">438</a>                         finalChannel.close();
<a name="439" href="#439">439</a>                     } <strong class="jxr_keyword">catch</strong> (IOException e) {
<a name="440" href="#440">440</a>                         ExceptionMonitor.getInstance().exceptionCaught(e);
<a name="441" href="#441">441</a>                     }
<a name="442" href="#442">442</a>                 }
<a name="443" href="#443">443</a>             });
<a name="444" href="#444">444</a>         }
<a name="445" href="#445">445</a> 
<a name="446" href="#446">446</a>         <em class="jxr_comment">// Return the WriteFuture.</em>
<a name="447" href="#447">447</a>         <strong class="jxr_keyword">return</strong> writeFuture;
<a name="448" href="#448">448</a>     }
<a name="449" href="#449">449</a> 
<a name="450" href="#450">450</a>     <em class="jxr_javadoccomment">/**</em>
<a name="451" href="#451">451</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="452" href="#452">452</a> <em class="jxr_javadoccomment">     */</em>
<a name="453" href="#453">453</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> Object getAttachment() {
<a name="454" href="#454">454</a>         <strong class="jxr_keyword">return</strong> getAttribute(<span class="jxr_string">""</span>);
<a name="455" href="#455">455</a>     }
<a name="456" href="#456">456</a> 
<a name="457" href="#457">457</a>     <em class="jxr_javadoccomment">/**</em>
<a name="458" href="#458">458</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="459" href="#459">459</a> <em class="jxr_javadoccomment">     */</em>
<a name="460" href="#460">460</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> Object setAttachment(Object attachment) {
<a name="461" href="#461">461</a>         <strong class="jxr_keyword">return</strong> setAttribute(<span class="jxr_string">""</span>, attachment);
<a name="462" href="#462">462</a>     }
<a name="463" href="#463">463</a> 
<a name="464" href="#464">464</a>     <em class="jxr_javadoccomment">/**</em>
<a name="465" href="#465">465</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="466" href="#466">466</a> <em class="jxr_javadoccomment">     */</em>
<a name="467" href="#467">467</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> Object getAttribute(Object key) {
<a name="468" href="#468">468</a>         <strong class="jxr_keyword">return</strong> getAttribute(key, <strong class="jxr_keyword">null</strong>);
<a name="469" href="#469">469</a>     }
<a name="470" href="#470">470</a> 
<a name="471" href="#471">471</a>     <em class="jxr_javadoccomment">/**</em>
<a name="472" href="#472">472</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="473" href="#473">473</a> <em class="jxr_javadoccomment">     */</em>
<a name="474" href="#474">474</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> Object getAttribute(Object key, Object defaultValue) {
<a name="475" href="#475">475</a>         <strong class="jxr_keyword">return</strong> attributes.getAttribute(<strong class="jxr_keyword">this</strong>, key, defaultValue);
<a name="476" href="#476">476</a>     }
<a name="477" href="#477">477</a> 
<a name="478" href="#478">478</a>     <em class="jxr_javadoccomment">/**</em>
<a name="479" href="#479">479</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="480" href="#480">480</a> <em class="jxr_javadoccomment">     */</em>
<a name="481" href="#481">481</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> Object setAttribute(Object key, Object value) {
<a name="482" href="#482">482</a>         <strong class="jxr_keyword">return</strong> attributes.setAttribute(<strong class="jxr_keyword">this</strong>, key, value);
<a name="483" href="#483">483</a>     }
<a name="484" href="#484">484</a> 
<a name="485" href="#485">485</a>     <em class="jxr_javadoccomment">/**</em>
<a name="486" href="#486">486</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="487" href="#487">487</a> <em class="jxr_javadoccomment">     */</em>
<a name="488" href="#488">488</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> Object setAttribute(Object key) {
<a name="489" href="#489">489</a>         <strong class="jxr_keyword">return</strong> setAttribute(key, Boolean.TRUE);
<a name="490" href="#490">490</a>     }
<a name="491" href="#491">491</a> 
<a name="492" href="#492">492</a>     <em class="jxr_javadoccomment">/**</em>
<a name="493" href="#493">493</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="494" href="#494">494</a> <em class="jxr_javadoccomment">     */</em>
<a name="495" href="#495">495</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> Object setAttributeIfAbsent(Object key, Object value) {
<a name="496" href="#496">496</a>         <strong class="jxr_keyword">return</strong> attributes.setAttributeIfAbsent(<strong class="jxr_keyword">this</strong>, key, value);
<a name="497" href="#497">497</a>     }
<a name="498" href="#498">498</a> 
<a name="499" href="#499">499</a>     <em class="jxr_javadoccomment">/**</em>
<a name="500" href="#500">500</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="501" href="#501">501</a> <em class="jxr_javadoccomment">     */</em>
<a name="502" href="#502">502</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> Object setAttributeIfAbsent(Object key) {
<a name="503" href="#503">503</a>         <strong class="jxr_keyword">return</strong> setAttributeIfAbsent(key, Boolean.TRUE);
<a name="504" href="#504">504</a>     }
<a name="505" href="#505">505</a> 
<a name="506" href="#506">506</a>     <em class="jxr_javadoccomment">/**</em>
<a name="507" href="#507">507</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="508" href="#508">508</a> <em class="jxr_javadoccomment">     */</em>
<a name="509" href="#509">509</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> Object removeAttribute(Object key) {
<a name="510" href="#510">510</a>         <strong class="jxr_keyword">return</strong> attributes.removeAttribute(<strong class="jxr_keyword">this</strong>, key);
<a name="511" href="#511">511</a>     }
<a name="512" href="#512">512</a> 
<a name="513" href="#513">513</a>     <em class="jxr_javadoccomment">/**</em>
<a name="514" href="#514">514</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="515" href="#515">515</a> <em class="jxr_javadoccomment">     */</em>
<a name="516" href="#516">516</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> removeAttribute(Object key, Object value) {
<a name="517" href="#517">517</a>         <strong class="jxr_keyword">return</strong> attributes.removeAttribute(<strong class="jxr_keyword">this</strong>, key, value);
<a name="518" href="#518">518</a>     }
<a name="519" href="#519">519</a> 
<a name="520" href="#520">520</a>     <em class="jxr_javadoccomment">/**</em>
<a name="521" href="#521">521</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="522" href="#522">522</a> <em class="jxr_javadoccomment">     */</em>
<a name="523" href="#523">523</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> replaceAttribute(Object key, Object oldValue, Object newValue) {
<a name="524" href="#524">524</a>         <strong class="jxr_keyword">return</strong> attributes.replaceAttribute(<strong class="jxr_keyword">this</strong>, key, oldValue, newValue);
<a name="525" href="#525">525</a>     }
<a name="526" href="#526">526</a> 
<a name="527" href="#527">527</a>     <em class="jxr_javadoccomment">/**</em>
<a name="528" href="#528">528</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="529" href="#529">529</a> <em class="jxr_javadoccomment">     */</em>
<a name="530" href="#530">530</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> containsAttribute(Object key) {
<a name="531" href="#531">531</a>         <strong class="jxr_keyword">return</strong> attributes.containsAttribute(<strong class="jxr_keyword">this</strong>, key);
<a name="532" href="#532">532</a>     }
<a name="533" href="#533">533</a> 
<a name="534" href="#534">534</a>     <em class="jxr_javadoccomment">/**</em>
<a name="535" href="#535">535</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="536" href="#536">536</a> <em class="jxr_javadoccomment">     */</em>
<a name="537" href="#537">537</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> Set&lt;Object&gt; getAttributeKeys() {
<a name="538" href="#538">538</a>         <strong class="jxr_keyword">return</strong> attributes.getAttributeKeys(<strong class="jxr_keyword">this</strong>);
<a name="539" href="#539">539</a>     }
<a name="540" href="#540">540</a> 
<a name="541" href="#541">541</a>     <em class="jxr_javadoccomment">/**</em>
<a name="542" href="#542">542</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="543" href="#543">543</a> <em class="jxr_javadoccomment">     */</em>
<a name="544" href="#544">544</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/IoSessionAttributeMap.html">IoSessionAttributeMap</a> getAttributeMap() {
<a name="545" href="#545">545</a>         <strong class="jxr_keyword">return</strong> attributes;
<a name="546" href="#546">546</a>     }
<a name="547" href="#547">547</a> 
<a name="548" href="#548">548</a>     <em class="jxr_javadoccomment">/**</em>
<a name="549" href="#549">549</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="550" href="#550">550</a> <em class="jxr_javadoccomment">     */</em>
<a name="551" href="#551">551</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setAttributeMap(<a href="../../../../../org/apache/mina/core/session/IoSessionAttributeMap.html">IoSessionAttributeMap</a> attributes) {
<a name="552" href="#552">552</a>         <strong class="jxr_keyword">this</strong>.attributes = attributes;
<a name="553" href="#553">553</a>     }
<a name="554" href="#554">554</a> 
<a name="555" href="#555">555</a>     <em class="jxr_javadoccomment">/**</em>
<a name="556" href="#556">556</a> <em class="jxr_javadoccomment">     * Create a new close aware write queue, based on the given write queue.</em>
<a name="557" href="#557">557</a> <em class="jxr_javadoccomment">     * </em>
<a name="558" href="#558">558</a> <em class="jxr_javadoccomment">     * @param writeRequestQueue The write request queue</em>
<a name="559" href="#559">559</a> <em class="jxr_javadoccomment">     */</em>
<a name="560" href="#560">560</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setWriteRequestQueue(<a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html">WriteRequestQueue</a> writeRequestQueue) {
<a name="561" href="#561">561</a>         <strong class="jxr_keyword">this</strong>.writeRequestQueue =
<a name="562" href="#562">562</a>             <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">CloseAwareWriteQueue</a>(writeRequestQueue);
<a name="563" href="#563">563</a>     }
<a name="564" href="#564">564</a> 
<a name="565" href="#565">565</a> 
<a name="566" href="#566">566</a>     <em class="jxr_javadoccomment">/**</em>
<a name="567" href="#567">567</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="568" href="#568">568</a> <em class="jxr_javadoccomment">     */</em>
<a name="569" href="#569">569</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> suspendRead() {
<a name="570" href="#570">570</a>         readSuspended = <strong class="jxr_keyword">true</strong>;
<a name="571" href="#571">571</a>         <strong class="jxr_keyword">if</strong> (isClosing() || !isConnected()) {
<a name="572" href="#572">572</a>             <strong class="jxr_keyword">return</strong>;
<a name="573" href="#573">573</a>         }
<a name="574" href="#574">574</a>         getProcessor().updateTrafficControl(<strong class="jxr_keyword">this</strong>);
<a name="575" href="#575">575</a>     }
<a name="576" href="#576">576</a> 
<a name="577" href="#577">577</a>     <em class="jxr_javadoccomment">/**</em>
<a name="578" href="#578">578</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="579" href="#579">579</a> <em class="jxr_javadoccomment">     */</em>
<a name="580" href="#580">580</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> suspendWrite() {
<a name="581" href="#581">581</a>         writeSuspended = <strong class="jxr_keyword">true</strong>;
<a name="582" href="#582">582</a>         <strong class="jxr_keyword">if</strong> (isClosing() || !isConnected()) {
<a name="583" href="#583">583</a>             <strong class="jxr_keyword">return</strong>;
<a name="584" href="#584">584</a>         }
<a name="585" href="#585">585</a>         getProcessor().updateTrafficControl(<strong class="jxr_keyword">this</strong>);
<a name="586" href="#586">586</a>     }
<a name="587" href="#587">587</a> 
<a name="588" href="#588">588</a>     <em class="jxr_javadoccomment">/**</em>
<a name="589" href="#589">589</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="590" href="#590">590</a> <em class="jxr_javadoccomment">     */</em>
<a name="591" href="#591">591</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
<a name="592" href="#592">592</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> resumeRead() {
<a name="593" href="#593">593</a>         readSuspended = false;
<a name="594" href="#594">594</a>         <strong class="jxr_keyword">if</strong> (isClosing() || !isConnected()) {
<a name="595" href="#595">595</a>             <strong class="jxr_keyword">return</strong>;
<a name="596" href="#596">596</a>         }
<a name="597" href="#597">597</a>         getProcessor().updateTrafficControl(<strong class="jxr_keyword">this</strong>);
<a name="598" href="#598">598</a>     }
<a name="599" href="#599">599</a> 
<a name="600" href="#600">600</a>     <em class="jxr_javadoccomment">/**</em>
<a name="601" href="#601">601</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="602" href="#602">602</a> <em class="jxr_javadoccomment">     */</em>
<a name="603" href="#603">603</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
<a name="604" href="#604">604</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> resumeWrite() {
<a name="605" href="#605">605</a>         writeSuspended = false;
<a name="606" href="#606">606</a>         <strong class="jxr_keyword">if</strong> (isClosing() || !isConnected()) {
<a name="607" href="#607">607</a>             <strong class="jxr_keyword">return</strong>;
<a name="608" href="#608">608</a>         }
<a name="609" href="#609">609</a>         getProcessor().updateTrafficControl(<strong class="jxr_keyword">this</strong>);
<a name="610" href="#610">610</a>     }
<a name="611" href="#611">611</a> 
<a name="612" href="#612">612</a>     <em class="jxr_javadoccomment">/**</em>
<a name="613" href="#613">613</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="614" href="#614">614</a> <em class="jxr_javadoccomment">     */</em>
<a name="615" href="#615">615</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isReadSuspended() {
<a name="616" href="#616">616</a>     	<strong class="jxr_keyword">return</strong> readSuspended;
<a name="617" href="#617">617</a>     }
<a name="618" href="#618">618</a> 
<a name="619" href="#619">619</a>     <em class="jxr_javadoccomment">/**</em>
<a name="620" href="#620">620</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="621" href="#621">621</a> <em class="jxr_javadoccomment">     */</em>
<a name="622" href="#622">622</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isWriteSuspended() {
<a name="623" href="#623">623</a>     	<strong class="jxr_keyword">return</strong> writeSuspended; 
<a name="624" href="#624">624</a>     }
<a name="625" href="#625">625</a>     
<a name="626" href="#626">626</a>     <em class="jxr_javadoccomment">/**</em>
<a name="627" href="#627">627</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="628" href="#628">628</a> <em class="jxr_javadoccomment">     */</em>
<a name="629" href="#629">629</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getReadBytes() {
<a name="630" href="#630">630</a>         <strong class="jxr_keyword">return</strong> readBytes;
<a name="631" href="#631">631</a>     }
<a name="632" href="#632">632</a> 
<a name="633" href="#633">633</a>     <em class="jxr_javadoccomment">/**</em>
<a name="634" href="#634">634</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="635" href="#635">635</a> <em class="jxr_javadoccomment">     */</em>
<a name="636" href="#636">636</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getWrittenBytes() {
<a name="637" href="#637">637</a>         <strong class="jxr_keyword">return</strong> writtenBytes;
<a name="638" href="#638">638</a>     }
<a name="639" href="#639">639</a> 
<a name="640" href="#640">640</a>     <em class="jxr_javadoccomment">/**</em>
<a name="641" href="#641">641</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="642" href="#642">642</a> <em class="jxr_javadoccomment">     */</em>
<a name="643" href="#643">643</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getReadMessages() {
<a name="644" href="#644">644</a>         <strong class="jxr_keyword">return</strong> readMessages;
<a name="645" href="#645">645</a>     }
<a name="646" href="#646">646</a> 
<a name="647" href="#647">647</a>     <em class="jxr_javadoccomment">/**</em>
<a name="648" href="#648">648</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="649" href="#649">649</a> <em class="jxr_javadoccomment">     */</em>
<a name="650" href="#650">650</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getWrittenMessages() {
<a name="651" href="#651">651</a>         <strong class="jxr_keyword">return</strong> writtenMessages;
<a name="652" href="#652">652</a>     }
<a name="653" href="#653">653</a> 
<a name="654" href="#654">654</a>     <em class="jxr_javadoccomment">/**</em>
<a name="655" href="#655">655</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="656" href="#656">656</a> <em class="jxr_javadoccomment">     */</em>
<a name="657" href="#657">657</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getReadBytesThroughput() {
<a name="658" href="#658">658</a>         <strong class="jxr_keyword">return</strong> readBytesThroughput;
<a name="659" href="#659">659</a>     }
<a name="660" href="#660">660</a> 
<a name="661" href="#661">661</a>     <em class="jxr_javadoccomment">/**</em>
<a name="662" href="#662">662</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="663" href="#663">663</a> <em class="jxr_javadoccomment">     */</em>
<a name="664" href="#664">664</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getWrittenBytesThroughput() {
<a name="665" href="#665">665</a>         <strong class="jxr_keyword">return</strong> writtenBytesThroughput;
<a name="666" href="#666">666</a>     }
<a name="667" href="#667">667</a> 
<a name="668" href="#668">668</a>     <em class="jxr_javadoccomment">/**</em>
<a name="669" href="#669">669</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="670" href="#670">670</a> <em class="jxr_javadoccomment">     */</em>
<a name="671" href="#671">671</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getReadMessagesThroughput() {
<a name="672" href="#672">672</a>         <strong class="jxr_keyword">return</strong> readMessagesThroughput;
<a name="673" href="#673">673</a>     }
<a name="674" href="#674">674</a> 
<a name="675" href="#675">675</a>     <em class="jxr_javadoccomment">/**</em>
<a name="676" href="#676">676</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="677" href="#677">677</a> <em class="jxr_javadoccomment">     */</em>
<a name="678" href="#678">678</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getWrittenMessagesThroughput() {
<a name="679" href="#679">679</a>         <strong class="jxr_keyword">return</strong> writtenMessagesThroughput;
<a name="680" href="#680">680</a>     }
<a name="681" href="#681">681</a> 
<a name="682" href="#682">682</a>     <em class="jxr_javadoccomment">/**</em>
<a name="683" href="#683">683</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="684" href="#684">684</a> <em class="jxr_javadoccomment">     */</em>
<a name="685" href="#685">685</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> updateThroughput(<strong class="jxr_keyword">long</strong> currentTime, <strong class="jxr_keyword">boolean</strong> force) {
<a name="686" href="#686">686</a>         <strong class="jxr_keyword">int</strong> interval = (<strong class="jxr_keyword">int</strong>) (currentTime - lastThroughputCalculationTime);
<a name="687" href="#687">687</a> 
<a name="688" href="#688">688</a>         <strong class="jxr_keyword">long</strong> minInterval = getConfig().getThroughputCalculationIntervalInMillis();
<a name="689" href="#689">689</a>         <strong class="jxr_keyword">if</strong> (minInterval == 0 || interval &lt; minInterval) {
<a name="690" href="#690">690</a>             <strong class="jxr_keyword">if</strong> (!force) {
<a name="691" href="#691">691</a>                 <strong class="jxr_keyword">return</strong>;
<a name="692" href="#692">692</a>             }
<a name="693" href="#693">693</a>         }
<a name="694" href="#694">694</a> 
<a name="695" href="#695">695</a>         readBytesThroughput = (readBytes - lastReadBytes) * 1000.0 / interval;
<a name="696" href="#696">696</a>         writtenBytesThroughput = (writtenBytes - lastWrittenBytes) * 1000.0 / interval;
<a name="697" href="#697">697</a>         readMessagesThroughput = (readMessages - lastReadMessages) * 1000.0 / interval;
<a name="698" href="#698">698</a>         writtenMessagesThroughput = (writtenMessages - lastWrittenMessages) * 1000.0 / interval;
<a name="699" href="#699">699</a> 
<a name="700" href="#700">700</a>         lastReadBytes = readBytes;
<a name="701" href="#701">701</a>         lastWrittenBytes = writtenBytes;
<a name="702" href="#702">702</a>         lastReadMessages = readMessages;
<a name="703" href="#703">703</a>         lastWrittenMessages = writtenMessages;
<a name="704" href="#704">704</a> 
<a name="705" href="#705">705</a>         lastThroughputCalculationTime = currentTime;
<a name="706" href="#706">706</a>     }
<a name="707" href="#707">707</a> 
<a name="708" href="#708">708</a>     <em class="jxr_javadoccomment">/**</em>
<a name="709" href="#709">709</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="710" href="#710">710</a> <em class="jxr_javadoccomment">     */</em>
<a name="711" href="#711">711</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getScheduledWriteBytes() {
<a name="712" href="#712">712</a>         <strong class="jxr_keyword">return</strong> scheduledWriteBytes.get();
<a name="713" href="#713">713</a>     }
<a name="714" href="#714">714</a> 
<a name="715" href="#715">715</a>     <em class="jxr_javadoccomment">/**</em>
<a name="716" href="#716">716</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="717" href="#717">717</a> <em class="jxr_javadoccomment">     */</em>
<a name="718" href="#718">718</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getScheduledWriteMessages() {
<a name="719" href="#719">719</a>         <strong class="jxr_keyword">return</strong> scheduledWriteMessages.get();
<a name="720" href="#720">720</a>     }
<a name="721" href="#721">721</a> 
<a name="722" href="#722">722</a>     <em class="jxr_javadoccomment">/**</em>
<a name="723" href="#723">723</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="724" href="#724">724</a> <em class="jxr_javadoccomment">     */</em>
<a name="725" href="#725">725</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setScheduledWriteBytes(<strong class="jxr_keyword">int</strong> byteCount){
<a name="726" href="#726">726</a>         scheduledWriteBytes.set(byteCount);
<a name="727" href="#727">727</a>     }
<a name="728" href="#728">728</a> 
<a name="729" href="#729">729</a>     <em class="jxr_javadoccomment">/**</em>
<a name="730" href="#730">730</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="731" href="#731">731</a> <em class="jxr_javadoccomment">     */</em>
<a name="732" href="#732">732</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setScheduledWriteMessages(<strong class="jxr_keyword">int</strong> messages) {
<a name="733" href="#733">733</a>         scheduledWriteMessages.set(messages);
<a name="734" href="#734">734</a>     }
<a name="735" href="#735">735</a> 
<a name="736" href="#736">736</a>     <em class="jxr_javadoccomment">/**</em>
<a name="737" href="#737">737</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="738" href="#738">738</a> <em class="jxr_javadoccomment">     */</em>
<a name="739" href="#739">739</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseReadBytes(<strong class="jxr_keyword">long</strong> increment, <strong class="jxr_keyword">long</strong> currentTime) {
<a name="740" href="#740">740</a>         <strong class="jxr_keyword">if</strong> (increment &lt;= 0) {
<a name="741" href="#741">741</a>             <strong class="jxr_keyword">return</strong>;
<a name="742" href="#742">742</a>         }
<a name="743" href="#743">743</a> 
<a name="744" href="#744">744</a>         readBytes += increment;
<a name="745" href="#745">745</a>         lastReadTime = currentTime;
<a name="746" href="#746">746</a>         idleCountForBoth = 0;
<a name="747" href="#747">747</a>         idleCountForRead = 0;
<a name="748" href="#748">748</a> 
<a name="749" href="#749">749</a>         <strong class="jxr_keyword">if</strong> (getService() instanceof AbstractIoService) {
<a name="750" href="#750">750</a>             ((<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a>) getService()).getStatistics().increaseReadBytes(increment, currentTime);
<a name="751" href="#751">751</a>         }
<a name="752" href="#752">752</a>     }
<a name="753" href="#753">753</a> 
<a name="754" href="#754">754</a>     <em class="jxr_javadoccomment">/**</em>
<a name="755" href="#755">755</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="756" href="#756">756</a> <em class="jxr_javadoccomment">     */</em>
<a name="757" href="#757">757</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseReadMessages(<strong class="jxr_keyword">long</strong> currentTime) {
<a name="758" href="#758">758</a>         readMessages++;
<a name="759" href="#759">759</a>         lastReadTime = currentTime;
<a name="760" href="#760">760</a>         idleCountForBoth = 0;
<a name="761" href="#761">761</a>         idleCountForRead = 0;
<a name="762" href="#762">762</a> 
<a name="763" href="#763">763</a>         <strong class="jxr_keyword">if</strong> (getService() instanceof AbstractIoService) {
<a name="764" href="#764">764</a>             ((<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a>) getService()).getStatistics().increaseReadMessages(currentTime);
<a name="765" href="#765">765</a>         }
<a name="766" href="#766">766</a>     }
<a name="767" href="#767">767</a> 
<a name="768" href="#768">768</a>     <em class="jxr_javadoccomment">/**</em>
<a name="769" href="#769">769</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="770" href="#770">770</a> <em class="jxr_javadoccomment">     */</em>
<a name="771" href="#771">771</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseWrittenBytes(<strong class="jxr_keyword">int</strong> increment, <strong class="jxr_keyword">long</strong> currentTime) {
<a name="772" href="#772">772</a>         <strong class="jxr_keyword">if</strong> (increment &lt;= 0) {
<a name="773" href="#773">773</a>             <strong class="jxr_keyword">return</strong>;
<a name="774" href="#774">774</a>         }
<a name="775" href="#775">775</a> 
<a name="776" href="#776">776</a>         writtenBytes += increment;
<a name="777" href="#777">777</a>         lastWriteTime = currentTime;
<a name="778" href="#778">778</a>         idleCountForBoth = 0;
<a name="779" href="#779">779</a>         idleCountForWrite = 0;
<a name="780" href="#780">780</a> 
<a name="781" href="#781">781</a>         <strong class="jxr_keyword">if</strong> (getService() instanceof AbstractIoService) {
<a name="782" href="#782">782</a>             ((<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a>) getService()).getStatistics().increaseWrittenBytes(increment, currentTime);
<a name="783" href="#783">783</a>         }
<a name="784" href="#784">784</a> 
<a name="785" href="#785">785</a>         increaseScheduledWriteBytes(-increment);
<a name="786" href="#786">786</a>     }
<a name="787" href="#787">787</a> 
<a name="788" href="#788">788</a>     <em class="jxr_javadoccomment">/**</em>
<a name="789" href="#789">789</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="790" href="#790">790</a> <em class="jxr_javadoccomment">     */</em>
<a name="791" href="#791">791</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseWrittenMessages(
<a name="792" href="#792">792</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> request, <strong class="jxr_keyword">long</strong> currentTime) {
<a name="793" href="#793">793</a>         Object message = request.getMessage();
<a name="794" href="#794">794</a>         <strong class="jxr_keyword">if</strong> (message instanceof IoBuffer) {
<a name="795" href="#795">795</a>             <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> b = (IoBuffer) message;
<a name="796" href="#796">796</a>             <strong class="jxr_keyword">if</strong> (b.hasRemaining()) {
<a name="797" href="#797">797</a>                 <strong class="jxr_keyword">return</strong>;
<a name="798" href="#798">798</a>             }
<a name="799" href="#799">799</a>         }
<a name="800" href="#800">800</a> 
<a name="801" href="#801">801</a>         writtenMessages++;
<a name="802" href="#802">802</a>         lastWriteTime = currentTime;
<a name="803" href="#803">803</a>         <strong class="jxr_keyword">if</strong> (getService() instanceof AbstractIoService) {
<a name="804" href="#804">804</a>             ((<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a>) getService()).getStatistics().increaseWrittenMessages(currentTime);
<a name="805" href="#805">805</a>         }
<a name="806" href="#806">806</a> 
<a name="807" href="#807">807</a>         decreaseScheduledWriteMessages();
<a name="808" href="#808">808</a>     }
<a name="809" href="#809">809</a> 
<a name="810" href="#810">810</a>     <em class="jxr_javadoccomment">/**</em>
<a name="811" href="#811">811</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="812" href="#812">812</a> <em class="jxr_javadoccomment">     */</em>
<a name="813" href="#813">813</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseScheduledWriteBytes(<strong class="jxr_keyword">int</strong> increment) {
<a name="814" href="#814">814</a>         scheduledWriteBytes.addAndGet(increment);
<a name="815" href="#815">815</a>         <strong class="jxr_keyword">if</strong> (getService() instanceof AbstractIoService) {
<a name="816" href="#816">816</a>             ((<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a>) getService()).getStatistics().increaseScheduledWriteBytes(increment);
<a name="817" href="#817">817</a>         }
<a name="818" href="#818">818</a>     }
<a name="819" href="#819">819</a> 
<a name="820" href="#820">820</a>     <em class="jxr_javadoccomment">/**</em>
<a name="821" href="#821">821</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="822" href="#822">822</a> <em class="jxr_javadoccomment">     */</em>
<a name="823" href="#823">823</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseScheduledWriteMessages() {
<a name="824" href="#824">824</a>         scheduledWriteMessages.incrementAndGet();
<a name="825" href="#825">825</a>         <strong class="jxr_keyword">if</strong> (getService() instanceof AbstractIoService) {
<a name="826" href="#826">826</a>             ((<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a>) getService()).getStatistics().increaseScheduledWriteMessages();
<a name="827" href="#827">827</a>         }
<a name="828" href="#828">828</a>     }
<a name="829" href="#829">829</a> 
<a name="830" href="#830">830</a>     <em class="jxr_javadoccomment">/**</em>
<a name="831" href="#831">831</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="832" href="#832">832</a> <em class="jxr_javadoccomment">     */</em>
<a name="833" href="#833">833</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> decreaseScheduledWriteMessages() {
<a name="834" href="#834">834</a>         scheduledWriteMessages.decrementAndGet();
<a name="835" href="#835">835</a>         <strong class="jxr_keyword">if</strong> (getService() instanceof AbstractIoService) {
<a name="836" href="#836">836</a>             ((<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a>) getService()).getStatistics().decreaseScheduledWriteMessages();
<a name="837" href="#837">837</a>         }
<a name="838" href="#838">838</a>     }
<a name="839" href="#839">839</a> 
<a name="840" href="#840">840</a>     <em class="jxr_javadoccomment">/**</em>
<a name="841" href="#841">841</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="842" href="#842">842</a> <em class="jxr_javadoccomment">     */</em>
<a name="843" href="#843">843</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> decreaseScheduledBytesAndMessages(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> request) {
<a name="844" href="#844">844</a>         Object message = request.getMessage();
<a name="845" href="#845">845</a>         <strong class="jxr_keyword">if</strong> (message instanceof IoBuffer) {
<a name="846" href="#846">846</a>             <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> b = (IoBuffer) message;
<a name="847" href="#847">847</a>             <strong class="jxr_keyword">if</strong> (b.hasRemaining()) {
<a name="848" href="#848">848</a>                 increaseScheduledWriteBytes(-((IoBuffer) message).remaining());
<a name="849" href="#849">849</a>             } <strong class="jxr_keyword">else</strong> {
<a name="850" href="#850">850</a>                 decreaseScheduledWriteMessages();
<a name="851" href="#851">851</a>             }
<a name="852" href="#852">852</a>         } <strong class="jxr_keyword">else</strong> {
<a name="853" href="#853">853</a>             decreaseScheduledWriteMessages();
<a name="854" href="#854">854</a>         }
<a name="855" href="#855">855</a>     }
<a name="856" href="#856">856</a> 
<a name="857" href="#857">857</a>     <em class="jxr_javadoccomment">/**</em>
<a name="858" href="#858">858</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="859" href="#859">859</a> <em class="jxr_javadoccomment">     */</em>
<a name="860" href="#860">860</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html">WriteRequestQueue</a> getWriteRequestQueue() {
<a name="861" href="#861">861</a>         <strong class="jxr_keyword">if</strong> (writeRequestQueue == <strong class="jxr_keyword">null</strong>) {
<a name="862" href="#862">862</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException();
<a name="863" href="#863">863</a>         }
<a name="864" href="#864">864</a>         <strong class="jxr_keyword">return</strong> writeRequestQueue;
<a name="865" href="#865">865</a>     }
<a name="866" href="#866">866</a> 
<a name="867" href="#867">867</a>     <em class="jxr_javadoccomment">/**</em>
<a name="868" href="#868">868</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="869" href="#869">869</a> <em class="jxr_javadoccomment">     */</em>
<a name="870" href="#870">870</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> getCurrentWriteRequest() {
<a name="871" href="#871">871</a>         <strong class="jxr_keyword">return</strong> currentWriteRequest;
<a name="872" href="#872">872</a>     }
<a name="873" href="#873">873</a> 
<a name="874" href="#874">874</a>     <em class="jxr_javadoccomment">/**</em>
<a name="875" href="#875">875</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="876" href="#876">876</a> <em class="jxr_javadoccomment">     */</em>
<a name="877" href="#877">877</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> Object getCurrentWriteMessage() {
<a name="878" href="#878">878</a>         <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> req = getCurrentWriteRequest();
<a name="879" href="#879">879</a>         <strong class="jxr_keyword">if</strong> (req == <strong class="jxr_keyword">null</strong>) {
<a name="880" href="#880">880</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="881" href="#881">881</a>         }
<a name="882" href="#882">882</a>         <strong class="jxr_keyword">return</strong> req.getMessage();
<a name="883" href="#883">883</a>     }
<a name="884" href="#884">884</a> 
<a name="885" href="#885">885</a>     <em class="jxr_javadoccomment">/**</em>
<a name="886" href="#886">886</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="887" href="#887">887</a> <em class="jxr_javadoccomment">     */</em>
<a name="888" href="#888">888</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setCurrentWriteRequest(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> currentWriteRequest) {
<a name="889" href="#889">889</a>         <strong class="jxr_keyword">this</strong>.currentWriteRequest = currentWriteRequest;
<a name="890" href="#890">890</a>     }
<a name="891" href="#891">891</a> 
<a name="892" href="#892">892</a>     <em class="jxr_javadoccomment">/**</em>
<a name="893" href="#893">893</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="894" href="#894">894</a> <em class="jxr_javadoccomment">     */</em>
<a name="895" href="#895">895</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseReadBufferSize() {
<a name="896" href="#896">896</a>         <strong class="jxr_keyword">int</strong> newReadBufferSize = getConfig().getReadBufferSize() &lt;&lt; 1;
<a name="897" href="#897">897</a>         <strong class="jxr_keyword">if</strong> (newReadBufferSize &lt;= getConfig().getMaxReadBufferSize()) {
<a name="898" href="#898">898</a>             getConfig().setReadBufferSize(newReadBufferSize);
<a name="899" href="#899">899</a>         } <strong class="jxr_keyword">else</strong> {
<a name="900" href="#900">900</a>             getConfig().setReadBufferSize(getConfig().getMaxReadBufferSize());
<a name="901" href="#901">901</a>         }
<a name="902" href="#902">902</a> 
<a name="903" href="#903">903</a>         deferDecreaseReadBuffer = <strong class="jxr_keyword">true</strong>;
<a name="904" href="#904">904</a>     }
<a name="905" href="#905">905</a> 
<a name="906" href="#906">906</a>     <em class="jxr_javadoccomment">/**</em>
<a name="907" href="#907">907</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="908" href="#908">908</a> <em class="jxr_javadoccomment">     */</em>
<a name="909" href="#909">909</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> decreaseReadBufferSize() {
<a name="910" href="#910">910</a>         <strong class="jxr_keyword">if</strong> (deferDecreaseReadBuffer) {
<a name="911" href="#911">911</a>             deferDecreaseReadBuffer = false;
<a name="912" href="#912">912</a>             <strong class="jxr_keyword">return</strong>;
<a name="913" href="#913">913</a>         }
<a name="914" href="#914">914</a> 
<a name="915" href="#915">915</a>         <strong class="jxr_keyword">if</strong> (getConfig().getReadBufferSize() &gt; getConfig().getMinReadBufferSize()) {
<a name="916" href="#916">916</a>             getConfig().setReadBufferSize(getConfig().getReadBufferSize() &gt;&gt;&gt; 1);
<a name="917" href="#917">917</a>         }
<a name="918" href="#918">918</a> 
<a name="919" href="#919">919</a>         deferDecreaseReadBuffer = <strong class="jxr_keyword">true</strong>;
<a name="920" href="#920">920</a>     }
<a name="921" href="#921">921</a> 
<a name="922" href="#922">922</a>     <em class="jxr_javadoccomment">/**</em>
<a name="923" href="#923">923</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="924" href="#924">924</a> <em class="jxr_javadoccomment">     */</em>
<a name="925" href="#925">925</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getCreationTime() {
<a name="926" href="#926">926</a>         <strong class="jxr_keyword">return</strong> creationTime;
<a name="927" href="#927">927</a>     }
<a name="928" href="#928">928</a> 
<a name="929" href="#929">929</a>     <em class="jxr_javadoccomment">/**</em>
<a name="930" href="#930">930</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="931" href="#931">931</a> <em class="jxr_javadoccomment">     */</em>
<a name="932" href="#932">932</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLastIoTime() {
<a name="933" href="#933">933</a>         <strong class="jxr_keyword">return</strong> Math.max(lastReadTime, lastWriteTime);
<a name="934" href="#934">934</a>     }
<a name="935" href="#935">935</a> 
<a name="936" href="#936">936</a>     <em class="jxr_javadoccomment">/**</em>
<a name="937" href="#937">937</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="938" href="#938">938</a> <em class="jxr_javadoccomment">     */</em>
<a name="939" href="#939">939</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLastReadTime() {
<a name="940" href="#940">940</a>         <strong class="jxr_keyword">return</strong> lastReadTime;
<a name="941" href="#941">941</a>     }
<a name="942" href="#942">942</a> 
<a name="943" href="#943">943</a>     <em class="jxr_javadoccomment">/**</em>
<a name="944" href="#944">944</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="945" href="#945">945</a> <em class="jxr_javadoccomment">     */</em>
<a name="946" href="#946">946</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLastWriteTime() {
<a name="947" href="#947">947</a>         <strong class="jxr_keyword">return</strong> lastWriteTime;
<a name="948" href="#948">948</a>     }
<a name="949" href="#949">949</a> 
<a name="950" href="#950">950</a>     <em class="jxr_javadoccomment">/**</em>
<a name="951" href="#951">951</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="952" href="#952">952</a> <em class="jxr_javadoccomment">     */</em>
<a name="953" href="#953">953</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isIdle(<a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) {
<a name="954" href="#954">954</a>         <strong class="jxr_keyword">if</strong> (status == IdleStatus.BOTH_IDLE) {
<a name="955" href="#955">955</a>             <strong class="jxr_keyword">return</strong> idleCountForBoth &gt; 0;
<a name="956" href="#956">956</a>         }
<a name="957" href="#957">957</a> 
<a name="958" href="#958">958</a>         <strong class="jxr_keyword">if</strong> (status == IdleStatus.READER_IDLE) {
<a name="959" href="#959">959</a>             <strong class="jxr_keyword">return</strong> idleCountForRead &gt; 0;
<a name="960" href="#960">960</a>         }
<a name="961" href="#961">961</a> 
<a name="962" href="#962">962</a>         <strong class="jxr_keyword">if</strong> (status == IdleStatus.WRITER_IDLE) {
<a name="963" href="#963">963</a>             <strong class="jxr_keyword">return</strong> idleCountForWrite &gt; 0;
<a name="964" href="#964">964</a>         }
<a name="965" href="#965">965</a> 
<a name="966" href="#966">966</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Unknown idle status: "</span> + status);
<a name="967" href="#967">967</a>     }
<a name="968" href="#968">968</a> 
<a name="969" href="#969">969</a>     <em class="jxr_javadoccomment">/**</em>
<a name="970" href="#970">970</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="971" href="#971">971</a> <em class="jxr_javadoccomment">     */</em>
<a name="972" href="#972">972</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isBothIdle() {
<a name="973" href="#973">973</a>         <strong class="jxr_keyword">return</strong> isIdle(IdleStatus.BOTH_IDLE);
<a name="974" href="#974">974</a>     }
<a name="975" href="#975">975</a> 
<a name="976" href="#976">976</a>     <em class="jxr_javadoccomment">/**</em>
<a name="977" href="#977">977</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="978" href="#978">978</a> <em class="jxr_javadoccomment">     */</em>
<a name="979" href="#979">979</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isReaderIdle() {
<a name="980" href="#980">980</a>         <strong class="jxr_keyword">return</strong> isIdle(IdleStatus.READER_IDLE);
<a name="981" href="#981">981</a>     }
<a name="982" href="#982">982</a> 
<a name="983" href="#983">983</a>     <em class="jxr_javadoccomment">/**</em>
<a name="984" href="#984">984</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="985" href="#985">985</a> <em class="jxr_javadoccomment">     */</em>
<a name="986" href="#986">986</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isWriterIdle() {
<a name="987" href="#987">987</a>         <strong class="jxr_keyword">return</strong> isIdle(IdleStatus.WRITER_IDLE);
<a name="988" href="#988">988</a>     }
<a name="989" href="#989">989</a> 
<a name="990" href="#990">990</a>     <em class="jxr_javadoccomment">/**</em>
<a name="991" href="#991">991</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="992" href="#992">992</a> <em class="jxr_javadoccomment">     */</em>
<a name="993" href="#993">993</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getIdleCount(<a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) {
<a name="994" href="#994">994</a>         <strong class="jxr_keyword">if</strong> (getConfig().getIdleTime(status) == 0) {
<a name="995" href="#995">995</a>             <strong class="jxr_keyword">if</strong> (status == IdleStatus.BOTH_IDLE) {
<a name="996" href="#996">996</a>                 idleCountForBoth = 0;
<a name="997" href="#997">997</a>             }
<a name="998" href="#998">998</a> 
<a name="999" href="#999">999</a>             <strong class="jxr_keyword">if</strong> (status == IdleStatus.READER_IDLE) {
<a name="1000" href="#1000">1000</a>                 idleCountForRead = 0;
<a name="1001" href="#1001">1001</a>             }
<a name="1002" href="#1002">1002</a> 
<a name="1003" href="#1003">1003</a>             <strong class="jxr_keyword">if</strong> (status == IdleStatus.WRITER_IDLE) {
<a name="1004" href="#1004">1004</a>                 idleCountForWrite = 0;
<a name="1005" href="#1005">1005</a>             }
<a name="1006" href="#1006">1006</a>         }
<a name="1007" href="#1007">1007</a> 
<a name="1008" href="#1008">1008</a>         <strong class="jxr_keyword">if</strong> (status == IdleStatus.BOTH_IDLE) {
<a name="1009" href="#1009">1009</a>             <strong class="jxr_keyword">return</strong> idleCountForBoth;
<a name="1010" href="#1010">1010</a>         }
<a name="1011" href="#1011">1011</a> 
<a name="1012" href="#1012">1012</a>         <strong class="jxr_keyword">if</strong> (status == IdleStatus.READER_IDLE) {
<a name="1013" href="#1013">1013</a>             <strong class="jxr_keyword">return</strong> idleCountForRead;
<a name="1014" href="#1014">1014</a>         }
<a name="1015" href="#1015">1015</a> 
<a name="1016" href="#1016">1016</a>         <strong class="jxr_keyword">if</strong> (status == IdleStatus.WRITER_IDLE) {
<a name="1017" href="#1017">1017</a>             <strong class="jxr_keyword">return</strong> idleCountForWrite;
<a name="1018" href="#1018">1018</a>         }
<a name="1019" href="#1019">1019</a> 
<a name="1020" href="#1020">1020</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Unknown idle status: "</span> + status);
<a name="1021" href="#1021">1021</a>     }
<a name="1022" href="#1022">1022</a> 
<a name="1023" href="#1023">1023</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1024" href="#1024">1024</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="1025" href="#1025">1025</a> <em class="jxr_javadoccomment">     */</em>
<a name="1026" href="#1026">1026</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLastIdleTime(<a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) {
<a name="1027" href="#1027">1027</a>         <strong class="jxr_keyword">if</strong> (status == IdleStatus.BOTH_IDLE) {
<a name="1028" href="#1028">1028</a>             <strong class="jxr_keyword">return</strong> lastIdleTimeForBoth;
<a name="1029" href="#1029">1029</a>         }
<a name="1030" href="#1030">1030</a> 
<a name="1031" href="#1031">1031</a>         <strong class="jxr_keyword">if</strong> (status == IdleStatus.READER_IDLE) {
<a name="1032" href="#1032">1032</a>             <strong class="jxr_keyword">return</strong> lastIdleTimeForRead;
<a name="1033" href="#1033">1033</a>         }
<a name="1034" href="#1034">1034</a> 
<a name="1035" href="#1035">1035</a>         <strong class="jxr_keyword">if</strong> (status == IdleStatus.WRITER_IDLE) {
<a name="1036" href="#1036">1036</a>             <strong class="jxr_keyword">return</strong> lastIdleTimeForWrite;
<a name="1037" href="#1037">1037</a>         }
<a name="1038" href="#1038">1038</a> 
<a name="1039" href="#1039">1039</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Unknown idle status: "</span> + status);
<a name="1040" href="#1040">1040</a>     }
<a name="1041" href="#1041">1041</a> 
<a name="1042" href="#1042">1042</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1043" href="#1043">1043</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="1044" href="#1044">1044</a> <em class="jxr_javadoccomment">     */</em>
<a name="1045" href="#1045">1045</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> increaseIdleCount(<a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status, <strong class="jxr_keyword">long</strong> currentTime) {
<a name="1046" href="#1046">1046</a>         <strong class="jxr_keyword">if</strong> (status == IdleStatus.BOTH_IDLE) {
<a name="1047" href="#1047">1047</a>             idleCountForBoth++;
<a name="1048" href="#1048">1048</a>             lastIdleTimeForBoth = currentTime;
<a name="1049" href="#1049">1049</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (status == IdleStatus.READER_IDLE) {
<a name="1050" href="#1050">1050</a>             idleCountForRead++;
<a name="1051" href="#1051">1051</a>             lastIdleTimeForRead = currentTime;
<a name="1052" href="#1052">1052</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (status == IdleStatus.WRITER_IDLE) {
<a name="1053" href="#1053">1053</a>             idleCountForWrite++;
<a name="1054" href="#1054">1054</a>             lastIdleTimeForWrite = currentTime;
<a name="1055" href="#1055">1055</a>         } <strong class="jxr_keyword">else</strong> {
<a name="1056" href="#1056">1056</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Unknown idle status: "</span> + status);
<a name="1057" href="#1057">1057</a>         }
<a name="1058" href="#1058">1058</a>     }
<a name="1059" href="#1059">1059</a> 
<a name="1060" href="#1060">1060</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1061" href="#1061">1061</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="1062" href="#1062">1062</a> <em class="jxr_javadoccomment">     */</em>
<a name="1063" href="#1063">1063</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getBothIdleCount() {
<a name="1064" href="#1064">1064</a>         <strong class="jxr_keyword">return</strong> getIdleCount(IdleStatus.BOTH_IDLE);
<a name="1065" href="#1065">1065</a>     }
<a name="1066" href="#1066">1066</a> 
<a name="1067" href="#1067">1067</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1068" href="#1068">1068</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="1069" href="#1069">1069</a> <em class="jxr_javadoccomment">     */</em>
<a name="1070" href="#1070">1070</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLastBothIdleTime() {
<a name="1071" href="#1071">1071</a>         <strong class="jxr_keyword">return</strong> getLastIdleTime(IdleStatus.BOTH_IDLE);
<a name="1072" href="#1072">1072</a>     }
<a name="1073" href="#1073">1073</a> 
<a name="1074" href="#1074">1074</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1075" href="#1075">1075</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="1076" href="#1076">1076</a> <em class="jxr_javadoccomment">     */</em>
<a name="1077" href="#1077">1077</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLastReaderIdleTime() {
<a name="1078" href="#1078">1078</a>         <strong class="jxr_keyword">return</strong> getLastIdleTime(IdleStatus.READER_IDLE);
<a name="1079" href="#1079">1079</a>     }
<a name="1080" href="#1080">1080</a> 
<a name="1081" href="#1081">1081</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1082" href="#1082">1082</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="1083" href="#1083">1083</a> <em class="jxr_javadoccomment">     */</em>
<a name="1084" href="#1084">1084</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLastWriterIdleTime() {
<a name="1085" href="#1085">1085</a>         <strong class="jxr_keyword">return</strong> getLastIdleTime(IdleStatus.WRITER_IDLE);
<a name="1086" href="#1086">1086</a>     }
<a name="1087" href="#1087">1087</a> 
<a name="1088" href="#1088">1088</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1089" href="#1089">1089</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="1090" href="#1090">1090</a> <em class="jxr_javadoccomment">     */</em>
<a name="1091" href="#1091">1091</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getReaderIdleCount() {
<a name="1092" href="#1092">1092</a>         <strong class="jxr_keyword">return</strong> getIdleCount(IdleStatus.READER_IDLE);
<a name="1093" href="#1093">1093</a>     }
<a name="1094" href="#1094">1094</a> 
<a name="1095" href="#1095">1095</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1096" href="#1096">1096</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="1097" href="#1097">1097</a> <em class="jxr_javadoccomment">     */</em>
<a name="1098" href="#1098">1098</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getWriterIdleCount() {
<a name="1099" href="#1099">1099</a>         <strong class="jxr_keyword">return</strong> getIdleCount(IdleStatus.WRITER_IDLE);
<a name="1100" href="#1100">1100</a>     }
<a name="1101" href="#1101">1101</a> 
<a name="1102" href="#1102">1102</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1103" href="#1103">1103</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="1104" href="#1104">1104</a> <em class="jxr_javadoccomment">     */</em>
<a name="1105" href="#1105">1105</a>     <strong class="jxr_keyword">public</strong> SocketAddress getServiceAddress() {
<a name="1106" href="#1106">1106</a>         <a href="../../../../../org/apache/mina/core/service/IoService.html">IoService</a> service = getService();
<a name="1107" href="#1107">1107</a>         <strong class="jxr_keyword">if</strong> (service instanceof IoAcceptor) {
<a name="1108" href="#1108">1108</a>             <strong class="jxr_keyword">return</strong> ((IoAcceptor) service).getLocalAddress();
<a name="1109" href="#1109">1109</a>         } <strong class="jxr_keyword">else</strong> {
<a name="1110" href="#1110">1110</a>             <strong class="jxr_keyword">return</strong> getRemoteAddress();
<a name="1111" href="#1111">1111</a>         }
<a name="1112" href="#1112">1112</a>     }
<a name="1113" href="#1113">1113</a> 
<a name="1114" href="#1114">1114</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1115" href="#1115">1115</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="1116" href="#1116">1116</a> <em class="jxr_javadoccomment">     */</em>
<a name="1117" href="#1117">1117</a>     @Override
<a name="1118" href="#1118">1118</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> hashCode() {
<a name="1119" href="#1119">1119</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.hashCode();
<a name="1120" href="#1120">1120</a>     }
<a name="1121" href="#1121">1121</a> 
<a name="1122" href="#1122">1122</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1123" href="#1123">1123</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="1124" href="#1124">1124</a> <em class="jxr_javadoccomment">     * TODO This is a ridiculous implementation. Need to be replaced.</em>
<a name="1125" href="#1125">1125</a> <em class="jxr_javadoccomment">     */</em>
<a name="1126" href="#1126">1126</a>     @Override
<a name="1127" href="#1127">1127</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> equals(Object o) {
<a name="1128" href="#1128">1128</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.equals(o);
<a name="1129" href="#1129">1129</a>     }
<a name="1130" href="#1130">1130</a> 
<a name="1131" href="#1131">1131</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1132" href="#1132">1132</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="1133" href="#1133">1133</a> <em class="jxr_javadoccomment">     */</em>
<a name="1134" href="#1134">1134</a>     @Override
<a name="1135" href="#1135">1135</a>     <strong class="jxr_keyword">public</strong> String toString() {
<a name="1136" href="#1136">1136</a>         <strong class="jxr_keyword">if</strong> (isConnected()||isClosing()) {
<a name="1137" href="#1137">1137</a>             <strong class="jxr_keyword">if</strong> (getService() instanceof IoAcceptor) {
<a name="1138" href="#1138">1138</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"("</span> + getIdAsString() + <span class="jxr_string">": "</span> + getServiceName() + <span class="jxr_string">", server, "</span> +
<a name="1139" href="#1139">1139</a>                         getRemoteAddress() + <span class="jxr_string">" =&gt; "</span> + getLocalAddress() + ')';
<a name="1140" href="#1140">1140</a>             } <strong class="jxr_keyword">else</strong> {
<a name="1141" href="#1141">1141</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"("</span> + getIdAsString() + <span class="jxr_string">": "</span> + getServiceName() + <span class="jxr_string">", client, "</span> +
<a name="1142" href="#1142">1142</a>                         getLocalAddress() + <span class="jxr_string">" =&gt; "</span> + getRemoteAddress() + ')';
<a name="1143" href="#1143">1143</a>             }
<a name="1144" href="#1144">1144</a>         } <strong class="jxr_keyword">else</strong> {
<a name="1145" href="#1145">1145</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Session disconnected ..."</span>;
<a name="1146" href="#1146">1146</a>         }
<a name="1147" href="#1147">1147</a>         
<a name="1148" href="#1148">1148</a>     }
<a name="1149" href="#1149">1149</a> 
<a name="1150" href="#1150">1150</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1151" href="#1151">1151</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="1152" href="#1152">1152</a> <em class="jxr_javadoccomment">     */</em>
<a name="1153" href="#1153">1153</a>     <strong class="jxr_keyword">private</strong> String getIdAsString() {
<a name="1154" href="#1154">1154</a>         String id = Long.toHexString(getId()).toUpperCase();
<a name="1155" href="#1155">1155</a> 
<a name="1156" href="#1156">1156</a>         <em class="jxr_comment">// Somewhat inefficient, but it won't happen that often</em>
<a name="1157" href="#1157">1157</a>         <em class="jxr_comment">// because an ID is often a big integer.</em>
<a name="1158" href="#1158">1158</a>         <strong class="jxr_keyword">while</strong> (id.length() &lt; 8) {
<a name="1159" href="#1159">1159</a>             id = '0' + id; <em class="jxr_comment">// padding</em>
<a name="1160" href="#1160">1160</a>         }
<a name="1161" href="#1161">1161</a>         id = <span class="jxr_string">"0x"</span> + id;
<a name="1162" href="#1162">1162</a> 
<a name="1163" href="#1163">1163</a>         <strong class="jxr_keyword">return</strong> id;
<a name="1164" href="#1164">1164</a>     }
<a name="1165" href="#1165">1165</a> 
<a name="1166" href="#1166">1166</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1167" href="#1167">1167</a> <em class="jxr_javadoccomment">     * TODO Add method documentation</em>
<a name="1168" href="#1168">1168</a> <em class="jxr_javadoccomment">     */</em>
<a name="1169" href="#1169">1169</a>     <strong class="jxr_keyword">private</strong> String getServiceName() {
<a name="1170" href="#1170">1170</a>         <a href="../../../../../org/apache/mina/core/service/TransportMetadata.html">TransportMetadata</a> tm = getTransportMetadata();
<a name="1171" href="#1171">1171</a>         <strong class="jxr_keyword">if</strong> (tm == <strong class="jxr_keyword">null</strong>) {
<a name="1172" href="#1172">1172</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">"null"</span>;
<a name="1173" href="#1173">1173</a>         } <strong class="jxr_keyword">else</strong> {
<a name="1174" href="#1174">1174</a>             <strong class="jxr_keyword">return</strong> tm.getProviderName() + ' ' + tm.getName();
<a name="1175" href="#1175">1175</a>         }
<a name="1176" href="#1176">1176</a>     }
<a name="1177" href="#1177">1177</a> 
<a name="1178" href="#1178">1178</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1179" href="#1179">1179</a> <em class="jxr_javadoccomment">     * Fires a {@link IoEventType#SESSION_IDLE} event to any applicable</em>
<a name="1180" href="#1180">1180</a> <em class="jxr_javadoccomment">     * sessions in the specified collection.</em>
<a name="1181" href="#1181">1181</a> <em class="jxr_javadoccomment">     *</em>
<a name="1182" href="#1182">1182</a> <em class="jxr_javadoccomment">     * @param currentTime the current time (i.e. {@link System#currentTimeMillis()})</em>
<a name="1183" href="#1183">1183</a> <em class="jxr_javadoccomment">     */</em>
<a name="1184" href="#1184">1184</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> notifyIdleness(Iterator&lt;? <strong class="jxr_keyword">extends</strong> IoSession&gt; sessions, <strong class="jxr_keyword">long</strong> currentTime) {
<a name="1185" href="#1185">1185</a>         <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> s = <strong class="jxr_keyword">null</strong>;
<a name="1186" href="#1186">1186</a>         <strong class="jxr_keyword">while</strong> (sessions.hasNext()) {
<a name="1187" href="#1187">1187</a>             s = sessions.next();
<a name="1188" href="#1188">1188</a>             notifyIdleSession(s, currentTime);
<a name="1189" href="#1189">1189</a>         }
<a name="1190" href="#1190">1190</a>     }
<a name="1191" href="#1191">1191</a> 
<a name="1192" href="#1192">1192</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1193" href="#1193">1193</a> <em class="jxr_javadoccomment">     * Fires a {@link IoEventType#SESSION_IDLE} event if applicable for the</em>
<a name="1194" href="#1194">1194</a> <em class="jxr_javadoccomment">     * specified {@code session}.</em>
<a name="1195" href="#1195">1195</a> <em class="jxr_javadoccomment">     *</em>
<a name="1196" href="#1196">1196</a> <em class="jxr_javadoccomment">     * @param currentTime the current time (i.e. {@link System#currentTimeMillis()})</em>
<a name="1197" href="#1197">1197</a> <em class="jxr_javadoccomment">     */</em>
<a name="1198" href="#1198">1198</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> notifyIdleSession(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <strong class="jxr_keyword">long</strong> currentTime) {
<a name="1199" href="#1199">1199</a>         notifyIdleSession0(
<a name="1200" href="#1200">1200</a>                 session, currentTime,
<a name="1201" href="#1201">1201</a>                 session.getConfig().getIdleTimeInMillis(IdleStatus.BOTH_IDLE),
<a name="1202" href="#1202">1202</a>                 IdleStatus.BOTH_IDLE, Math.max(
<a name="1203" href="#1203">1203</a>                     session.getLastIoTime(),
<a name="1204" href="#1204">1204</a>                     session.getLastIdleTime(IdleStatus.BOTH_IDLE)));
<a name="1205" href="#1205">1205</a> 
<a name="1206" href="#1206">1206</a>         notifyIdleSession0(
<a name="1207" href="#1207">1207</a>                 session, currentTime,
<a name="1208" href="#1208">1208</a>                 session.getConfig().getIdleTimeInMillis(IdleStatus.READER_IDLE),
<a name="1209" href="#1209">1209</a>                 IdleStatus.READER_IDLE, Math.max(
<a name="1210" href="#1210">1210</a>                     session.getLastReadTime(),
<a name="1211" href="#1211">1211</a>                     session.getLastIdleTime(IdleStatus.READER_IDLE)));
<a name="1212" href="#1212">1212</a> 
<a name="1213" href="#1213">1213</a>         notifyIdleSession0(
<a name="1214" href="#1214">1214</a>                 session, currentTime,
<a name="1215" href="#1215">1215</a>                 session.getConfig().getIdleTimeInMillis(IdleStatus.WRITER_IDLE),
<a name="1216" href="#1216">1216</a>                 IdleStatus.WRITER_IDLE, Math.max(
<a name="1217" href="#1217">1217</a>                     session.getLastWriteTime(),
<a name="1218" href="#1218">1218</a>                     session.getLastIdleTime(IdleStatus.WRITER_IDLE)));
<a name="1219" href="#1219">1219</a> 
<a name="1220" href="#1220">1220</a>         notifyWriteTimeout(session, currentTime);
<a name="1221" href="#1221">1221</a>     }
<a name="1222" href="#1222">1222</a> 
<a name="1223" href="#1223">1223</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> notifyIdleSession0(
<a name="1224" href="#1224">1224</a>             <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <strong class="jxr_keyword">long</strong> currentTime,
<a name="1225" href="#1225">1225</a>             <strong class="jxr_keyword">long</strong> idleTime, <a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status, <strong class="jxr_keyword">long</strong> lastIoTime) {
<a name="1226" href="#1226">1226</a>         <strong class="jxr_keyword">if</strong> (idleTime &gt; 0 &amp;&amp; lastIoTime != 0
<a name="1227" href="#1227">1227</a>                 &amp;&amp; currentTime - lastIoTime &gt;= idleTime) {
<a name="1228" href="#1228">1228</a>             session.getFilterChain().fireSessionIdle(status);
<a name="1229" href="#1229">1229</a>         }
<a name="1230" href="#1230">1230</a>     }
<a name="1231" href="#1231">1231</a> 
<a name="1232" href="#1232">1232</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> notifyWriteTimeout(
<a name="1233" href="#1233">1233</a>             <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <strong class="jxr_keyword">long</strong> currentTime) {
<a name="1234" href="#1234">1234</a> 
<a name="1235" href="#1235">1235</a>         <strong class="jxr_keyword">long</strong> writeTimeout = session.getConfig().getWriteTimeoutInMillis();
<a name="1236" href="#1236">1236</a>         <strong class="jxr_keyword">if</strong> (writeTimeout &gt; 0 &amp;&amp;
<a name="1237" href="#1237">1237</a>                 currentTime - session.getLastWriteTime() &gt;= writeTimeout &amp;&amp;
<a name="1238" href="#1238">1238</a>                 !session.getWriteRequestQueue().isEmpty(session)) {
<a name="1239" href="#1239">1239</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> request = session.getCurrentWriteRequest();
<a name="1240" href="#1240">1240</a>             <strong class="jxr_keyword">if</strong> (request != <strong class="jxr_keyword">null</strong>) {
<a name="1241" href="#1241">1241</a>                 session.setCurrentWriteRequest(<strong class="jxr_keyword">null</strong>);
<a name="1242" href="#1242">1242</a>                 <a href="../../../../../org/apache/mina/core/write/WriteTimeoutException.html">WriteTimeoutException</a> cause = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/write/WriteTimeoutException.html">WriteTimeoutException</a>(request);
<a name="1243" href="#1243">1243</a>                 request.getFuture().setException(cause);
<a name="1244" href="#1244">1244</a>                 session.getFilterChain().fireExceptionCaught(cause);
<a name="1245" href="#1245">1245</a>                 <em class="jxr_comment">// WriteException is an IOException, so we close the session.</em>
<a name="1246" href="#1246">1246</a>                 session.close(<strong class="jxr_keyword">true</strong>);
<a name="1247" href="#1247">1247</a>             }
<a name="1248" href="#1248">1248</a>         }
<a name="1249" href="#1249">1249</a>     }
<a name="1250" href="#1250">1250</a> 
<a name="1251" href="#1251">1251</a>     
<a name="1252" href="#1252">1252</a>     
<a name="1253" href="#1253">1253</a>     <em class="jxr_javadoccomment">/**</em>
<a name="1254" href="#1254">1254</a> <em class="jxr_javadoccomment">     * A queue which handles the CLOSE request.</em>
<a name="1255" href="#1255">1255</a> <em class="jxr_javadoccomment">     * </em>
<a name="1256" href="#1256">1256</a> <em class="jxr_javadoccomment">     * TODO : Check that when closing a session, all the pending</em>
<a name="1257" href="#1257">1257</a> <em class="jxr_javadoccomment">     * requests are correctly sent.</em>
<a name="1258" href="#1258">1258</a> <em class="jxr_javadoccomment">     */</em>
<a name="1259" href="#1259">1259</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">CloseAwareWriteQueue</a> implements <a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html">WriteRequestQueue</a> {
<a name="1260" href="#1260">1260</a> 
<a name="1261" href="#1261">1261</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html">WriteRequestQueue</a> q;
<a name="1262" href="#1262">1262</a> 
<a name="1263" href="#1263">1263</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1264" href="#1264">1264</a> <em class="jxr_javadoccomment">         * {@inheritDoc}</em>
<a name="1265" href="#1265">1265</a> <em class="jxr_javadoccomment">         */</em>
<a name="1266" href="#1266">1266</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">CloseAwareWriteQueue</a>(<a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html">WriteRequestQueue</a> q) {
<a name="1267" href="#1267">1267</a>             <strong class="jxr_keyword">this</strong>.q = q;
<a name="1268" href="#1268">1268</a>         }
<a name="1269" href="#1269">1269</a> 
<a name="1270" href="#1270">1270</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1271" href="#1271">1271</a> <em class="jxr_javadoccomment">         * {@inheritDoc}</em>
<a name="1272" href="#1272">1272</a> <em class="jxr_javadoccomment">         */</em>
<a name="1273" href="#1273">1273</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> poll(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="1274" href="#1274">1274</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> answer = q.poll(session);
<a name="1275" href="#1275">1275</a>             
<a name="1276" href="#1276">1276</a>             <strong class="jxr_keyword">if</strong> (answer == CLOSE_REQUEST) {
<a name="1277" href="#1277">1277</a>                 AbstractIoSession.<strong class="jxr_keyword">this</strong>.close();
<a name="1278" href="#1278">1278</a>                 dispose(session);
<a name="1279" href="#1279">1279</a>                 answer = <strong class="jxr_keyword">null</strong>;
<a name="1280" href="#1280">1280</a>             }
<a name="1281" href="#1281">1281</a>             
<a name="1282" href="#1282">1282</a>             <strong class="jxr_keyword">return</strong> answer;
<a name="1283" href="#1283">1283</a>         }
<a name="1284" href="#1284">1284</a> 
<a name="1285" href="#1285">1285</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1286" href="#1286">1286</a> <em class="jxr_javadoccomment">         * {@inheritDoc}</em>
<a name="1287" href="#1287">1287</a> <em class="jxr_javadoccomment">         */</em>
<a name="1288" href="#1288">1288</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> offer(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> e) {
<a name="1289" href="#1289">1289</a>             q.offer(session, e);
<a name="1290" href="#1290">1290</a>         }
<a name="1291" href="#1291">1291</a> 
<a name="1292" href="#1292">1292</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1293" href="#1293">1293</a> <em class="jxr_javadoccomment">         * {@inheritDoc}</em>
<a name="1294" href="#1294">1294</a> <em class="jxr_javadoccomment">         */</em>
<a name="1295" href="#1295">1295</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isEmpty(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="1296" href="#1296">1296</a>             <strong class="jxr_keyword">return</strong> q.isEmpty(session);
<a name="1297" href="#1297">1297</a>         }
<a name="1298" href="#1298">1298</a> 
<a name="1299" href="#1299">1299</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1300" href="#1300">1300</a> <em class="jxr_javadoccomment">         * {@inheritDoc}</em>
<a name="1301" href="#1301">1301</a> <em class="jxr_javadoccomment">         */</em>
<a name="1302" href="#1302">1302</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> clear(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="1303" href="#1303">1303</a>             q.clear(session);
<a name="1304" href="#1304">1304</a>         }
<a name="1305" href="#1305">1305</a> 
<a name="1306" href="#1306">1306</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1307" href="#1307">1307</a> <em class="jxr_javadoccomment">         * {@inheritDoc}</em>
<a name="1308" href="#1308">1308</a> <em class="jxr_javadoccomment">         */</em>
<a name="1309" href="#1309">1309</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> dispose(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="1310" href="#1310">1310</a>             q.dispose(session);
<a name="1311" href="#1311">1311</a>         }
<a name="1312" href="#1312">1312</a>     }
<a name="1313" href="#1313">1313</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

