<!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>AbstractPollingIoProcessor xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/core/polling/AbstractPollingIoProcessor.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.polling;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.nio.channels.SelectionKey;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.Queue;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.ConcurrentLinkedQueue;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.Executor;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.atomic.AtomicInteger;
<a name="33" href="#33">33</a>  
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.ExceptionMonitor;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.file.FileRegion;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.DefaultIoFuture;
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.AbstractIoService;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.IoProcessor;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.AbstractIoSession;
<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IdleStatusChecker;
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSessionConfig;
<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteRequest;
<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteRequestQueue;
<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteToClosedSessionException;
<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.util.NamePreservingRunnable;
<a name="47" href="#47">47</a>  
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment">/**</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * An abstract implementation of {@link IoProcessor} which helps</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * transport developers to write an {@link IoProcessor} easily.</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> *</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> * @version $Rev: 672609 $, $Date: 2008-06-29 09:40:06 +0200 (dim, 29 jun 2008) $</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment"> */</em>
<a name="55" href="#55">55</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> AbstractPollingIoProcessor&lt;T <strong class="jxr_keyword">extends</strong> AbstractIoSession&gt; implements IoProcessor&lt;T&gt; {
<a name="56" href="#56">56</a>      <em class="jxr_javadoccomment">/**</em>
<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment">     * The maximum loop count for a write operation until</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment">     * {@link #write(AbstractIoSession, IoBuffer, int)} returns non-zero value.</em>
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment">     * It is similar to what a spin lock is for in concurrency programming.</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment">     * It improves memory utilization and write throughput significantly.</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment">     */</em>
<a name="62" href="#62">62</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> WRITE_SPIN_COUNT = 256;
<a name="63" href="#63">63</a>  
<a name="64" href="#64">64</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A map containing the last Thread ID for each class */</em>
<a name="65" href="#65">65</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Map&lt;Class&lt;?&gt;, AtomicInteger&gt; threadIds = 
<a name="66" href="#66">66</a>          <strong class="jxr_keyword">new</strong> HashMap&lt;Class&lt;?&gt;, AtomicInteger&gt;();
<a name="67" href="#67">67</a>  
<a name="68" href="#68">68</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Object lock = <strong class="jxr_keyword">new</strong> Object();
<a name="69" href="#69">69</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String threadName;
<a name="70" href="#70">70</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Executor executor;
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Queue&lt;T&gt; newSessions = <strong class="jxr_keyword">new</strong> ConcurrentLinkedQueue&lt;T&gt;();
<a name="73" href="#73">73</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Queue&lt;T&gt; removingSessions = <strong class="jxr_keyword">new</strong> ConcurrentLinkedQueue&lt;T&gt;();
<a name="74" href="#74">74</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Queue&lt;T&gt; flushingSessions = <strong class="jxr_keyword">new</strong> ConcurrentLinkedQueue&lt;T&gt;();
<a name="75" href="#75">75</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Queue&lt;T&gt; trafficControllingSessions = <strong class="jxr_keyword">new</strong> ConcurrentLinkedQueue&lt;T&gt;();
<a name="76" href="#76">76</a>  
<a name="77" href="#77">77</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html">Worker</a> worker;
<a name="78" href="#78">78</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastIdleCheckTime;
<a name="79" href="#79">79</a>  
<a name="80" href="#80">80</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Object disposalLock = <strong class="jxr_keyword">new</strong> Object();
<a name="81" href="#81">81</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> disposing;
<a name="82" href="#82">82</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> disposed;
<a name="83" href="#83">83</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/future/DefaultIoFuture.html">DefaultIoFuture</a> disposalFuture = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/future/DefaultIoFuture.html">DefaultIoFuture</a>(<strong class="jxr_keyword">null</strong>);
<a name="84" href="#84">84</a>  
<a name="85" href="#85">85</a>      <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html">AbstractPollingIoProcessor</a>(Executor executor) {
<a name="86" href="#86">86</a>          <strong class="jxr_keyword">if</strong> (executor == <strong class="jxr_keyword">null</strong>) {
<a name="87" href="#87">87</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"executor"</span>);
<a name="88" href="#88">88</a>          }
<a name="89" href="#89">89</a>  
<a name="90" href="#90">90</a>          <strong class="jxr_keyword">this</strong>.threadName = nextThreadName();
<a name="91" href="#91">91</a>          <strong class="jxr_keyword">this</strong>.executor = executor;
<a name="92" href="#92">92</a>      }
<a name="93" href="#93">93</a>  
<a name="94" href="#94">94</a>      <em class="jxr_javadoccomment">/**</em>
<a name="95" href="#95">95</a>  <em class="jxr_javadoccomment">     * Compute the thread ID for this class instance. As we may have different</em>
<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     * classes, we store the last ID number into a Map associating the class</em>
<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     * name to the last assigned ID.</em>
<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment">     *   </em>
<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">     * @return a name for the current thread, based on the class name and</em>
<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">     * an incremental value, starting at 1. </em>
<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">     */</em>
<a name="102" href="#102">102</a>     <strong class="jxr_keyword">private</strong> String nextThreadName() {
<a name="103" href="#103">103</a>         Class&lt;?&gt; cls = getClass();
<a name="104" href="#104">104</a>         <strong class="jxr_keyword">int</strong> newThreadId;
<a name="105" href="#105">105</a>         
<a name="106" href="#106">106</a>         <em class="jxr_comment">// We synchronize this block to avoid a concurrent access to </em>
<a name="107" href="#107">107</a>         <em class="jxr_comment">// the actomicInteger (it can be modified by another thread, while</em>
<a name="108" href="#108">108</a>         <em class="jxr_comment">// being seen as null by another thread)</em>
<a name="109" href="#109">109</a>         <strong class="jxr_keyword">synchronized</strong>( threadIds ) {
<a name="110" href="#110">110</a>             <em class="jxr_comment">// Get the current ID associated to this class' name</em>
<a name="111" href="#111">111</a>             AtomicInteger threadId = threadIds.get(cls);
<a name="112" href="#112">112</a>             
<a name="113" href="#113">113</a>             <strong class="jxr_keyword">if</strong> (threadId == <strong class="jxr_keyword">null</strong>) {
<a name="114" href="#114">114</a>                 <em class="jxr_comment">// We never have seen this class before, just create a</em>
<a name="115" href="#115">115</a>                 <em class="jxr_comment">// new ID starting at 1 for it, and associate this ID</em>
<a name="116" href="#116">116</a>                 <em class="jxr_comment">// with the class name in the map.</em>
<a name="117" href="#117">117</a>                 newThreadId = 1;
<a name="118" href="#118">118</a>                 threadIds.put(cls, <strong class="jxr_keyword">new</strong> AtomicInteger(newThreadId));
<a name="119" href="#119">119</a>             } <strong class="jxr_keyword">else</strong> {
<a name="120" href="#120">120</a>                 <em class="jxr_comment">// Just increment the lat ID, and get it.</em>
<a name="121" href="#121">121</a>                 newThreadId = threadId.incrementAndGet();
<a name="122" href="#122">122</a>             }
<a name="123" href="#123">123</a>         }
<a name="124" href="#124">124</a>         
<a name="125" href="#125">125</a>         <em class="jxr_comment">// Now we can compute the name for this thread</em>
<a name="126" href="#126">126</a>         <strong class="jxr_keyword">return</strong> cls.getSimpleName() + '-' + newThreadId;
<a name="127" href="#127">127</a>     }
<a name="128" href="#128">128</a> 
<a name="129" href="#129">129</a>     <em class="jxr_javadoccomment">/**</em>
<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">     */</em>
<a name="132" href="#132">132</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isDisposing() {
<a name="133" href="#133">133</a>         <strong class="jxr_keyword">return</strong> disposing;
<a name="134" href="#134">134</a>     }
<a name="135" href="#135">135</a> 
<a name="136" href="#136">136</a>     <em class="jxr_javadoccomment">/**</em>
<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="138" href="#138">138</a> <em class="jxr_javadoccomment">     */</em>
<a name="139" href="#139">139</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isDisposed() {
<a name="140" href="#140">140</a>         <strong class="jxr_keyword">return</strong> disposed;
<a name="141" href="#141">141</a>     }
<a name="142" href="#142">142</a>     
<a name="143" href="#143">143</a>     <em class="jxr_javadoccomment">/**</em>
<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     */</em>
<a name="146" href="#146">146</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> dispose() {
<a name="147" href="#147">147</a>         <strong class="jxr_keyword">if</strong> (disposed) {
<a name="148" href="#148">148</a>             <strong class="jxr_keyword">return</strong>;
<a name="149" href="#149">149</a>         }
<a name="150" href="#150">150</a> 
<a name="151" href="#151">151</a>         <strong class="jxr_keyword">synchronized</strong> (disposalLock) {
<a name="152" href="#152">152</a>             <strong class="jxr_keyword">if</strong> (!disposing) {
<a name="153" href="#153">153</a>                 disposing = <strong class="jxr_keyword">true</strong>;
<a name="154" href="#154">154</a>                 startupWorker();
<a name="155" href="#155">155</a>             }
<a name="156" href="#156">156</a>         }
<a name="157" href="#157">157</a> 
<a name="158" href="#158">158</a>         disposalFuture.awaitUninterruptibly();
<a name="159" href="#159">159</a>         disposed = <strong class="jxr_keyword">true</strong>;
<a name="160" href="#160">160</a>     }
<a name="161" href="#161">161</a> 
<a name="162" href="#162">162</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> dispose0() <strong class="jxr_keyword">throws</strong> Exception;
<a name="163" href="#163">163</a> 
<a name="164" href="#164">164</a>     <em class="jxr_javadoccomment">/**</em>
<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">     * poll those sessions for the given timeout</em>
<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">     * @param timeout milliseconds before the call timeout if no event appear</em>
<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">     * @return true if at least a session is ready for read or for write</em>
<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">     * @throws Exception if some low level IO error occurs</em>
<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">     */</em>
<a name="170" href="#170">170</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> select(<strong class="jxr_keyword">int</strong> timeout) <strong class="jxr_keyword">throws</strong> Exception;
<a name="171" href="#171">171</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isSelectorEmpty();
<a name="172" href="#172">172</a>     
<a name="173" href="#173">173</a>     <em class="jxr_javadoccomment">/**</em>
<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     * Interrupt the {@link AbstractPollingIoProcessor#select(int) call.</em>
<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     */</em>
<a name="176" href="#176">176</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> wakeup();
<a name="177" href="#177">177</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> Iterator&lt;T&gt; allSessions();
<a name="178" href="#178">178</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> Iterator&lt;T&gt; selectedSessions();
<a name="179" href="#179">179</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html">SessionState</a> state(T session);
<a name="180" href="#180">180</a> 
<a name="181" href="#181">181</a>     <em class="jxr_javadoccomment">/**</em>
<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">     * Is the session ready for writing</em>
<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">     * @param session the session queried</em>
<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">     * @return true is ready, false if not ready</em>
<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">     */</em>
<a name="186" href="#186">186</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isWritable(T session);
<a name="187" href="#187">187</a> 
<a name="188" href="#188">188</a>     <em class="jxr_javadoccomment">/**</em>
<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">     * Is the session ready for reading</em>
<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">     * @param session the session queried</em>
<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">     * @return true is ready, false if not ready</em>
<a name="192" href="#192">192</a> <em class="jxr_javadoccomment">     */</em>
<a name="193" href="#193">193</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isReadable(T session);
<a name="194" href="#194">194</a> 
<a name="195" href="#195">195</a>     <em class="jxr_javadoccomment">/**</em>
<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">     * register a session for writing</em>
<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">     * @param session the session registered</em>
<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">     * @param interested true for registering, false for removing</em>
<a name="199" href="#199">199</a> <em class="jxr_javadoccomment">     */</em>
<a name="200" href="#200">200</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> setInterestedInWrite(T session, <strong class="jxr_keyword">boolean</strong> interested)
<a name="201" href="#201">201</a>             <strong class="jxr_keyword">throws</strong> Exception;
<a name="202" href="#202">202</a> 
<a name="203" href="#203">203</a>     <em class="jxr_javadoccomment">/**</em>
<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">     * register a session for reading</em>
<a name="205" href="#205">205</a> <em class="jxr_javadoccomment">     * @param session the session registered</em>
<a name="206" href="#206">206</a> <em class="jxr_javadoccomment">     * @param interested true for registering, false for removing</em>
<a name="207" href="#207">207</a> <em class="jxr_javadoccomment">     */</em>
<a name="208" href="#208">208</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> setInterestedInRead(T session, <strong class="jxr_keyword">boolean</strong> interested)
<a name="209" href="#209">209</a>             <strong class="jxr_keyword">throws</strong> Exception;
<a name="210" href="#210">210</a> 
<a name="211" href="#211">211</a>     <em class="jxr_javadoccomment">/**</em>
<a name="212" href="#212">212</a> <em class="jxr_javadoccomment">     * is this session registered for reading</em>
<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">     * @param session the session queried</em>
<a name="214" href="#214">214</a> <em class="jxr_javadoccomment">     * @return true is registered for reading</em>
<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">     */</em>
<a name="216" href="#216">216</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isInterestedInRead(T session);
<a name="217" href="#217">217</a> 
<a name="218" href="#218">218</a>     <em class="jxr_javadoccomment">/**</em>
<a name="219" href="#219">219</a> <em class="jxr_javadoccomment">     * is this session registered for writing</em>
<a name="220" href="#220">220</a> <em class="jxr_javadoccomment">     * @param session the session queried</em>
<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">     * @return true is registered for writing</em>
<a name="222" href="#222">222</a> <em class="jxr_javadoccomment">     */</em>
<a name="223" href="#223">223</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isInterestedInWrite(T session);
<a name="224" href="#224">224</a> 
<a name="225" href="#225">225</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> init(T session) <strong class="jxr_keyword">throws</strong> Exception;
<a name="226" href="#226">226</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> destroy(T session) <strong class="jxr_keyword">throws</strong> Exception;
<a name="227" href="#227">227</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">int</strong> read(T session, <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buf) <strong class="jxr_keyword">throws</strong> Exception;
<a name="228" href="#228">228</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">int</strong> write(T session, <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buf, <strong class="jxr_keyword">int</strong> length) <strong class="jxr_keyword">throws</strong> Exception;
<a name="229" href="#229">229</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">int</strong> transferFile(T session, <a href="../../../../../org/apache/mina/core/file/FileRegion.html">FileRegion</a> region, <strong class="jxr_keyword">int</strong> length) <strong class="jxr_keyword">throws</strong> Exception;
<a name="230" href="#230">230</a> 
<a name="231" href="#231">231</a>     <em class="jxr_javadoccomment">/**</em>
<a name="232" href="#232">232</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="233" href="#233">233</a> <em class="jxr_javadoccomment">     */</em>
<a name="234" href="#234">234</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> add(T session) {
<a name="235" href="#235">235</a>         <strong class="jxr_keyword">if</strong> (isDisposing()) {
<a name="236" href="#236">236</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"Already disposed."</span>);
<a name="237" href="#237">237</a>         }
<a name="238" href="#238">238</a> 
<a name="239" href="#239">239</a>         newSessions.add(session);
<a name="240" href="#240">240</a>         startupWorker();
<a name="241" href="#241">241</a>     }
<a name="242" href="#242">242</a> 
<a name="243" href="#243">243</a>     <em class="jxr_javadoccomment">/**</em>
<a name="244" href="#244">244</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="245" href="#245">245</a> <em class="jxr_javadoccomment">     */</em>
<a name="246" href="#246">246</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> remove(T session) {
<a name="247" href="#247">247</a>         scheduleRemove(session);
<a name="248" href="#248">248</a>         startupWorker();
<a name="249" href="#249">249</a>     }
<a name="250" href="#250">250</a> 
<a name="251" href="#251">251</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> scheduleRemove(T session) {
<a name="252" href="#252">252</a>         removingSessions.add(session);
<a name="253" href="#253">253</a>     }
<a name="254" href="#254">254</a> 
<a name="255" href="#255">255</a>     <em class="jxr_javadoccomment">/**</em>
<a name="256" href="#256">256</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="257" href="#257">257</a> <em class="jxr_javadoccomment">     */</em>
<a name="258" href="#258">258</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> flush(T session) {
<a name="259" href="#259">259</a>         <em class="jxr_comment">// The following optimization has been disabled because it can cause StackOverflowError.</em>
<a name="260" href="#260">260</a>         <em class="jxr_comment">//if (Thread.currentThread() == workerThread) {</em>
<a name="261" href="#261">261</a>         <em class="jxr_comment">//    // Bypass the queue if called from the worker thread itself</em>
<a name="262" href="#262">262</a>         <em class="jxr_comment">//    // (i.e. single thread model).</em>
<a name="263" href="#263">263</a>         <em class="jxr_comment">//    flushNow(session, System.currentTimeMillis());</em>
<a name="264" href="#264">264</a>         <em class="jxr_comment">//    return;</em>
<a name="265" href="#265">265</a>         <em class="jxr_comment">//}</em>
<a name="266" href="#266">266</a> 
<a name="267" href="#267">267</a>         <strong class="jxr_keyword">boolean</strong> needsWakeup = flushingSessions.isEmpty();
<a name="268" href="#268">268</a>         <strong class="jxr_keyword">if</strong> (scheduleFlush(session) &amp;&amp; needsWakeup) {
<a name="269" href="#269">269</a>             wakeup();
<a name="270" href="#270">270</a>         }
<a name="271" href="#271">271</a>     }
<a name="272" href="#272">272</a> 
<a name="273" href="#273">273</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> scheduleFlush(T session) {
<a name="274" href="#274">274</a>         <strong class="jxr_keyword">if</strong> (session.setScheduledForFlush(<strong class="jxr_keyword">true</strong>)) {
<a name="275" href="#275">275</a>             flushingSessions.add(session);
<a name="276" href="#276">276</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a name="277" href="#277">277</a>         }
<a name="278" href="#278">278</a>         <strong class="jxr_keyword">return</strong> false;
<a name="279" href="#279">279</a>     }
<a name="280" href="#280">280</a> 
<a name="281" href="#281">281</a>     <em class="jxr_javadoccomment">/**</em>
<a name="282" href="#282">282</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a name="283" href="#283">283</a> <em class="jxr_javadoccomment">     */</em>
<a name="284" href="#284">284</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> updateTrafficMask(T session) {
<a name="285" href="#285">285</a>         scheduleTrafficControl(session);
<a name="286" href="#286">286</a>         wakeup();
<a name="287" href="#287">287</a>     }
<a name="288" href="#288">288</a> 
<a name="289" href="#289">289</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> scheduleTrafficControl(T session) {
<a name="290" href="#290">290</a>         trafficControllingSessions.add(session);
<a name="291" href="#291">291</a>     }
<a name="292" href="#292">292</a> 
<a name="293" href="#293">293</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> startupWorker() {
<a name="294" href="#294">294</a>         <strong class="jxr_keyword">synchronized</strong> (lock) {
<a name="295" href="#295">295</a>             <strong class="jxr_keyword">if</strong> (worker == <strong class="jxr_keyword">null</strong>) {
<a name="296" href="#296">296</a>                 worker = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html">Worker</a>();
<a name="297" href="#297">297</a>                 executor.execute(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/util/NamePreservingRunnable.html">NamePreservingRunnable</a>(worker, threadName));
<a name="298" href="#298">298</a>             }
<a name="299" href="#299">299</a>         }
<a name="300" href="#300">300</a>         wakeup();
<a name="301" href="#301">301</a>     }
<a name="302" href="#302">302</a> 
<a name="303" href="#303">303</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> add() {
<a name="304" href="#304">304</a>         <strong class="jxr_keyword">int</strong> addedSessions = 0;
<a name="305" href="#305">305</a>         
<a name="306" href="#306">306</a>         <em class="jxr_comment">// Loop on the new sessions blocking queue, to count</em>
<a name="307" href="#307">307</a>         <em class="jxr_comment">// the number of sessions who has been created</em>
<a name="308" href="#308">308</a>         <strong class="jxr_keyword">for</strong> (;;) {
<a name="309" href="#309">309</a>             T session = newSessions.poll();
<a name="310" href="#310">310</a> 
<a name="311" href="#311">311</a>             <strong class="jxr_keyword">if</strong> (session == <strong class="jxr_keyword">null</strong>) {
<a name="312" href="#312">312</a>                 <em class="jxr_comment">// We don't have anymore new sessions</em>
<a name="313" href="#313">313</a>                 <strong class="jxr_keyword">break</strong>;
<a name="314" href="#314">314</a>             }
<a name="315" href="#315">315</a> 
<a name="316" href="#316">316</a> 
<a name="317" href="#317">317</a>             <strong class="jxr_keyword">if</strong> (addNow(session)) {
<a name="318" href="#318">318</a>                 <em class="jxr_comment">// The new session has been added to the </em>
<a name="319" href="#319">319</a>                 addedSessions ++;
<a name="320" href="#320">320</a>             }
<a name="321" href="#321">321</a>         }
<a name="322" href="#322">322</a> 
<a name="323" href="#323">323</a>         <strong class="jxr_keyword">return</strong> addedSessions;
<a name="324" href="#324">324</a>     }
<a name="325" href="#325">325</a> 
<a name="326" href="#326">326</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> addNow(T session) {
<a name="327" href="#327">327</a> 
<a name="328" href="#328">328</a>         <strong class="jxr_keyword">boolean</strong> registered = false;
<a name="329" href="#329">329</a>         <strong class="jxr_keyword">boolean</strong> notified = false;
<a name="330" href="#330">330</a>         <strong class="jxr_keyword">try</strong> {
<a name="331" href="#331">331</a>             init(session);
<a name="332" href="#332">332</a>             registered = <strong class="jxr_keyword">true</strong>;
<a name="333" href="#333">333</a> 
<a name="334" href="#334">334</a>             <em class="jxr_comment">// Build the filter chain of this session.</em>
<a name="335" href="#335">335</a>             session.getService().getFilterChainBuilder().buildFilterChain(
<a name="336" href="#336">336</a>                     session.getFilterChain());
<a name="337" href="#337">337</a> 
<a name="338" href="#338">338</a>             <em class="jxr_comment">// DefaultIoFilterChain.CONNECT_FUTURE is cleared inside here</em>
<a name="339" href="#339">339</a>             <em class="jxr_comment">// in AbstractIoFilterChain.fireSessionOpened().</em>
<a name="340" href="#340">340</a>             ((<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a>) session.getService()).getListeners().fireSessionCreated(session);
<a name="341" href="#341">341</a>             notified = <strong class="jxr_keyword">true</strong>;
<a name="342" href="#342">342</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="343" href="#343">343</a>             <strong class="jxr_keyword">if</strong> (notified) {
<a name="344" href="#344">344</a>                 <em class="jxr_comment">// Clear the DefaultIoFilterChain.CONNECT_FUTURE attribute</em>
<a name="345" href="#345">345</a>                 <em class="jxr_comment">// and call ConnectFuture.setException().</em>
<a name="346" href="#346">346</a>                 scheduleRemove(session);
<a name="347" href="#347">347</a>                 session.getFilterChain().fireExceptionCaught(e);
<a name="348" href="#348">348</a>                 wakeup();
<a name="349" href="#349">349</a>             } <strong class="jxr_keyword">else</strong> {
<a name="350" href="#350">350</a>                 ExceptionMonitor.getInstance().exceptionCaught(e);
<a name="351" href="#351">351</a>                 <strong class="jxr_keyword">try</strong> {
<a name="352" href="#352">352</a>                     destroy(session);
<a name="353" href="#353">353</a>                 } <strong class="jxr_keyword">catch</strong> (Exception e1) {
<a name="354" href="#354">354</a>                     ExceptionMonitor.getInstance().exceptionCaught(e1);
<a name="355" href="#355">355</a>                 } <strong class="jxr_keyword">finally</strong> {
<a name="356" href="#356">356</a>                     registered = false;
<a name="357" href="#357">357</a>                 }
<a name="358" href="#358">358</a>             }
<a name="359" href="#359">359</a>         }
<a name="360" href="#360">360</a>         <strong class="jxr_keyword">return</strong> registered;
<a name="361" href="#361">361</a>     }
<a name="362" href="#362">362</a> 
<a name="363" href="#363">363</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> remove() {
<a name="364" href="#364">364</a>         <strong class="jxr_keyword">int</strong> removedSessions = 0;
<a name="365" href="#365">365</a>         <strong class="jxr_keyword">for</strong> (; ;) {
<a name="366" href="#366">366</a>             T session = removingSessions.poll();
<a name="367" href="#367">367</a> 
<a name="368" href="#368">368</a>             <strong class="jxr_keyword">if</strong> (session == <strong class="jxr_keyword">null</strong>) {
<a name="369" href="#369">369</a>                 <strong class="jxr_keyword">break</strong>;
<a name="370" href="#370">370</a>             }
<a name="371" href="#371">371</a> 
<a name="372" href="#372">372</a>             <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html">SessionState</a> state = state(session);
<a name="373" href="#373">373</a>             <strong class="jxr_keyword">switch</strong> (state) {
<a name="374" href="#374">374</a>             <strong class="jxr_keyword">case</strong> OPEN:
<a name="375" href="#375">375</a>                 <strong class="jxr_keyword">if</strong> (removeNow(session)) {
<a name="376" href="#376">376</a>                     removedSessions ++;
<a name="377" href="#377">377</a>                 }
<a name="378" href="#378">378</a>                 <strong class="jxr_keyword">break</strong>;
<a name="379" href="#379">379</a>             <strong class="jxr_keyword">case</strong> CLOSED:
<a name="380" href="#380">380</a>                 <em class="jxr_comment">// Skip if channel is already closed</em>
<a name="381" href="#381">381</a>                 <strong class="jxr_keyword">break</strong>;
<a name="382" href="#382">382</a>             <strong class="jxr_keyword">case</strong> PREPARING:
<a name="383" href="#383">383</a>                 <em class="jxr_comment">// Retry later if session is not yet fully initialized.</em>
<a name="384" href="#384">384</a>                 <em class="jxr_comment">// (In case that Session.close() is called before addSession() is processed)</em>
<a name="385" href="#385">385</a>                 scheduleRemove(session);
<a name="386" href="#386">386</a>                 <strong class="jxr_keyword">return</strong> removedSessions;
<a name="387" href="#387">387</a>             <strong class="jxr_keyword">default</strong>:
<a name="388" href="#388">388</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(String.valueOf(state));
<a name="389" href="#389">389</a>             }
<a name="390" href="#390">390</a>         }
<a name="391" href="#391">391</a> 
<a name="392" href="#392">392</a>         <strong class="jxr_keyword">return</strong> removedSessions;
<a name="393" href="#393">393</a>     }
<a name="394" href="#394">394</a> 
<a name="395" href="#395">395</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> removeNow(T session) {
<a name="396" href="#396">396</a>         clearWriteRequestQueue(session);
<a name="397" href="#397">397</a> 
<a name="398" href="#398">398</a>         <strong class="jxr_keyword">try</strong> {
<a name="399" href="#399">399</a>             destroy(session);
<a name="400" href="#400">400</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a name="401" href="#401">401</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="402" href="#402">402</a>             session.getFilterChain().fireExceptionCaught(e);
<a name="403" href="#403">403</a>         } <strong class="jxr_keyword">finally</strong> {
<a name="404" href="#404">404</a>             clearWriteRequestQueue(session);
<a name="405" href="#405">405</a>             ((<a href="../../../../../org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a>) session.getService()).getListeners().fireSessionDestroyed(session);
<a name="406" href="#406">406</a>         }
<a name="407" href="#407">407</a>         <strong class="jxr_keyword">return</strong> false;
<a name="408" href="#408">408</a>     }
<a name="409" href="#409">409</a> 
<a name="410" href="#410">410</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> clearWriteRequestQueue(T session) {
<a name="411" href="#411">411</a>         <a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html">WriteRequestQueue</a> writeRequestQueue = session.getWriteRequestQueue();
<a name="412" href="#412">412</a>         <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> req;
<a name="413" href="#413">413</a> 
<a name="414" href="#414">414</a>         List&lt;WriteRequest&gt; failedRequests = <strong class="jxr_keyword">new</strong> ArrayList&lt;WriteRequest&gt;();
<a name="415" href="#415">415</a> 
<a name="416" href="#416">416</a>         <strong class="jxr_keyword">if</strong> ((req = writeRequestQueue.poll(session)) != <strong class="jxr_keyword">null</strong>) {
<a name="417" href="#417">417</a>             Object m = req.getMessage();
<a name="418" href="#418">418</a>             <strong class="jxr_keyword">if</strong> (m instanceof IoBuffer) {
<a name="419" href="#419">419</a>                 <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buf = (IoBuffer) req.getMessage();
<a name="420" href="#420">420</a> 
<a name="421" href="#421">421</a>                 <em class="jxr_comment">// The first unwritten empty buffer must be</em>
<a name="422" href="#422">422</a>                 <em class="jxr_comment">// forwarded to the filter chain.</em>
<a name="423" href="#423">423</a>                 <strong class="jxr_keyword">if</strong> (buf.hasRemaining()) {
<a name="424" href="#424">424</a>                     buf.reset();
<a name="425" href="#425">425</a>                     failedRequests.add(req);
<a name="426" href="#426">426</a>                 } <strong class="jxr_keyword">else</strong> {
<a name="427" href="#427">427</a>                     session.getFilterChain().fireMessageSent(req);
<a name="428" href="#428">428</a>                 }
<a name="429" href="#429">429</a>             } <strong class="jxr_keyword">else</strong> {
<a name="430" href="#430">430</a>                 failedRequests.add(req);
<a name="431" href="#431">431</a>             }
<a name="432" href="#432">432</a> 
<a name="433" href="#433">433</a>             <em class="jxr_comment">// Discard others.</em>
<a name="434" href="#434">434</a>             <strong class="jxr_keyword">while</strong> ((req = writeRequestQueue.poll(session)) != <strong class="jxr_keyword">null</strong>) {
<a name="435" href="#435">435</a>                 failedRequests.add(req);
<a name="436" href="#436">436</a>             }
<a name="437" href="#437">437</a>         }
<a name="438" href="#438">438</a> 
<a name="439" href="#439">439</a>         <em class="jxr_comment">// Create an exception and notify.</em>
<a name="440" href="#440">440</a>         <strong class="jxr_keyword">if</strong> (!failedRequests.isEmpty()) {
<a name="441" href="#441">441</a>             <a href="../../../../../org/apache/mina/core/write/WriteToClosedSessionException.html">WriteToClosedSessionException</a> cause = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/write/WriteToClosedSessionException.html">WriteToClosedSessionException</a>(failedRequests);
<a name="442" href="#442">442</a>             <strong class="jxr_keyword">for</strong> (WriteRequest r: failedRequests) {
<a name="443" href="#443">443</a>                 session.decreaseScheduledBytesAndMessages(r);
<a name="444" href="#444">444</a>                 r.getFuture().setException(cause);
<a name="445" href="#445">445</a>             }
<a name="446" href="#446">446</a>             session.getFilterChain().fireExceptionCaught(cause);
<a name="447" href="#447">447</a>         }
<a name="448" href="#448">448</a>     }
<a name="449" href="#449">449</a> 
<a name="450" href="#450">450</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> process() <strong class="jxr_keyword">throws</strong> Exception {
<a name="451" href="#451">451</a>         <strong class="jxr_keyword">for</strong> (Iterator&lt;T&gt; i = selectedSessions(); i.hasNext();) {
<a name="452" href="#452">452</a>             process(i.next());
<a name="453" href="#453">453</a>             i.remove();
<a name="454" href="#454">454</a>         }
<a name="455" href="#455">455</a>     }
<a name="456" href="#456">456</a> 
<a name="457" href="#457">457</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> process(T session) {
<a name="458" href="#458">458</a> 
<a name="459" href="#459">459</a>         <strong class="jxr_keyword">if</strong> (isReadable(session) &amp;&amp; session.getTrafficMask().isReadable()) {
<a name="460" href="#460">460</a>             read(session);
<a name="461" href="#461">461</a>         }
<a name="462" href="#462">462</a> 
<a name="463" href="#463">463</a>         <strong class="jxr_keyword">if</strong> (isWritable(session) &amp;&amp; session.getTrafficMask().isWritable()) {
<a name="464" href="#464">464</a>             scheduleFlush(session);
<a name="465" href="#465">465</a>         }
<a name="466" href="#466">466</a>     }
<a name="467" href="#467">467</a> 
<a name="468" href="#468">468</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> read(T session) {
<a name="469" href="#469">469</a>         <a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html">IoSessionConfig</a> config = session.getConfig();
<a name="470" href="#470">470</a>         <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buf = IoBuffer.allocate(config.getReadBufferSize());
<a name="471" href="#471">471</a> 
<a name="472" href="#472">472</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> hasFragmentation =
<a name="473" href="#473">473</a>             session.getTransportMetadata().hasFragmentation();
<a name="474" href="#474">474</a> 
<a name="475" href="#475">475</a>         <strong class="jxr_keyword">try</strong> {
<a name="476" href="#476">476</a>             <strong class="jxr_keyword">int</strong> readBytes = 0;
<a name="477" href="#477">477</a>             <strong class="jxr_keyword">int</strong> ret;
<a name="478" href="#478">478</a> 
<a name="479" href="#479">479</a>             <strong class="jxr_keyword">try</strong> {
<a name="480" href="#480">480</a>                 <strong class="jxr_keyword">if</strong> (hasFragmentation) {
<a name="481" href="#481">481</a>                     <strong class="jxr_keyword">while</strong> ((ret = read(session, buf)) &gt; 0) {
<a name="482" href="#482">482</a>                         readBytes += ret;
<a name="483" href="#483">483</a>                         <strong class="jxr_keyword">if</strong> (!buf.hasRemaining()) {
<a name="484" href="#484">484</a>                             <strong class="jxr_keyword">break</strong>;
<a name="485" href="#485">485</a>                         }
<a name="486" href="#486">486</a>                     }
<a name="487" href="#487">487</a>                 } <strong class="jxr_keyword">else</strong> {
<a name="488" href="#488">488</a>                     ret = read(session, buf);
<a name="489" href="#489">489</a>                     <strong class="jxr_keyword">if</strong> (ret &gt; 0) {
<a name="490" href="#490">490</a>                         readBytes = ret;
<a name="491" href="#491">491</a>                     }
<a name="492" href="#492">492</a>                 }
<a name="493" href="#493">493</a>             } <strong class="jxr_keyword">finally</strong> {
<a name="494" href="#494">494</a>                 buf.flip();
<a name="495" href="#495">495</a>             }
<a name="496" href="#496">496</a> 
<a name="497" href="#497">497</a>             <strong class="jxr_keyword">if</strong> (readBytes &gt; 0) {
<a name="498" href="#498">498</a>                 session.getFilterChain().fireMessageReceived(buf);
<a name="499" href="#499">499</a>                 buf = <strong class="jxr_keyword">null</strong>;
<a name="500" href="#500">500</a> 
<a name="501" href="#501">501</a>                 <strong class="jxr_keyword">if</strong> (hasFragmentation) {
<a name="502" href="#502">502</a>                     <strong class="jxr_keyword">if</strong> (readBytes &lt;&lt; 1 &lt; config.getReadBufferSize()) {
<a name="503" href="#503">503</a>                         session.decreaseReadBufferSize();
<a name="504" href="#504">504</a>                     } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (readBytes == config.getReadBufferSize()) {
<a name="505" href="#505">505</a>                         session.increaseReadBufferSize();
<a name="506" href="#506">506</a>                     }
<a name="507" href="#507">507</a>                 }
<a name="508" href="#508">508</a>             }
<a name="509" href="#509">509</a>             <strong class="jxr_keyword">if</strong> (ret &lt; 0) {
<a name="510" href="#510">510</a>                 scheduleRemove(session);
<a name="511" href="#511">511</a>             }
<a name="512" href="#512">512</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="513" href="#513">513</a>             <strong class="jxr_keyword">if</strong> (e instanceof IOException) {
<a name="514" href="#514">514</a>                 scheduleRemove(session);
<a name="515" href="#515">515</a>             }
<a name="516" href="#516">516</a>             session.getFilterChain().fireExceptionCaught(e);
<a name="517" href="#517">517</a>         }
<a name="518" href="#518">518</a>     }
<a name="519" href="#519">519</a> 
<a name="520" href="#520">520</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> notifyIdleSessions(<strong class="jxr_keyword">long</strong> currentTime) <strong class="jxr_keyword">throws</strong> Exception {
<a name="521" href="#521">521</a>         <em class="jxr_comment">// process idle sessions</em>
<a name="522" href="#522">522</a>         <strong class="jxr_keyword">if</strong> (currentTime - lastIdleCheckTime &gt;= 1000) {
<a name="523" href="#523">523</a>             lastIdleCheckTime = currentTime;
<a name="524" href="#524">524</a>             IdleStatusChecker.notifyIdleness(allSessions(), currentTime);
<a name="525" href="#525">525</a>         }
<a name="526" href="#526">526</a>     }
<a name="527" href="#527">527</a> 
<a name="528" href="#528">528</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> flush(<strong class="jxr_keyword">long</strong> currentTime) {
<a name="529" href="#529">529</a>         <strong class="jxr_keyword">final</strong> T firstSession = flushingSessions.peek();
<a name="530" href="#530">530</a>         <strong class="jxr_keyword">if</strong> (firstSession == <strong class="jxr_keyword">null</strong>) {
<a name="531" href="#531">531</a>             <strong class="jxr_keyword">return</strong>;
<a name="532" href="#532">532</a>         }
<a name="533" href="#533">533</a> 
<a name="534" href="#534">534</a>         T session = flushingSessions.poll(); <em class="jxr_comment">// the same one with firstSession</em>
<a name="535" href="#535">535</a>         <strong class="jxr_keyword">for</strong> (; ;) {
<a name="536" href="#536">536</a>             session.setScheduledForFlush(false);
<a name="537" href="#537">537</a>             <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html">SessionState</a> state = state(session);
<a name="538" href="#538">538</a>             <strong class="jxr_keyword">switch</strong> (state) {
<a name="539" href="#539">539</a>             <strong class="jxr_keyword">case</strong> OPEN:
<a name="540" href="#540">540</a>                 <strong class="jxr_keyword">try</strong> {
<a name="541" href="#541">541</a>                     <strong class="jxr_keyword">boolean</strong> flushedAll = flushNow(session, currentTime);
<a name="542" href="#542">542</a>                     <strong class="jxr_keyword">if</strong> (flushedAll &amp;&amp; !session.getWriteRequestQueue().isEmpty(session) &amp;&amp;
<a name="543" href="#543">543</a>                         !session.isScheduledForFlush()) {
<a name="544" href="#544">544</a>                         scheduleFlush(session);
<a name="545" href="#545">545</a>                     }
<a name="546" href="#546">546</a>                 } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="547" href="#547">547</a>                     scheduleRemove(session);
<a name="548" href="#548">548</a>                     session.getFilterChain().fireExceptionCaught(e);
<a name="549" href="#549">549</a>                 }
<a name="550" href="#550">550</a>                 <strong class="jxr_keyword">break</strong>;
<a name="551" href="#551">551</a>             <strong class="jxr_keyword">case</strong> CLOSED:
<a name="552" href="#552">552</a>                 <em class="jxr_comment">// Skip if the channel is already closed.</em>
<a name="553" href="#553">553</a>                 <strong class="jxr_keyword">break</strong>;
<a name="554" href="#554">554</a>             <strong class="jxr_keyword">case</strong> PREPARING:
<a name="555" href="#555">555</a>                 <em class="jxr_comment">// Retry later if session is not yet fully initialized.</em>
<a name="556" href="#556">556</a>                 <em class="jxr_comment">// (In case that Session.write() is called before addSession() is processed)</em>
<a name="557" href="#557">557</a>                 scheduleFlush(session);
<a name="558" href="#558">558</a>                 <strong class="jxr_keyword">return</strong>;
<a name="559" href="#559">559</a>             <strong class="jxr_keyword">default</strong>:
<a name="560" href="#560">560</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(String.valueOf(state));
<a name="561" href="#561">561</a>             }
<a name="562" href="#562">562</a> 
<a name="563" href="#563">563</a>             session = flushingSessions.peek();
<a name="564" href="#564">564</a>             <strong class="jxr_keyword">if</strong> (session == <strong class="jxr_keyword">null</strong> || session == firstSession) {
<a name="565" href="#565">565</a>                 <strong class="jxr_keyword">break</strong>;
<a name="566" href="#566">566</a>             }
<a name="567" href="#567">567</a>             session = flushingSessions.poll();
<a name="568" href="#568">568</a>         }
<a name="569" href="#569">569</a>     }
<a name="570" href="#570">570</a> 
<a name="571" href="#571">571</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> flushNow(T session, <strong class="jxr_keyword">long</strong> currentTime) {
<a name="572" href="#572">572</a>         <strong class="jxr_keyword">if</strong> (!session.isConnected()) {
<a name="573" href="#573">573</a>             scheduleRemove(session);
<a name="574" href="#574">574</a>             <strong class="jxr_keyword">return</strong> false;
<a name="575" href="#575">575</a>         }
<a name="576" href="#576">576</a> 
<a name="577" href="#577">577</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> hasFragmentation =
<a name="578" href="#578">578</a>             session.getTransportMetadata().hasFragmentation();
<a name="579" href="#579">579</a> 
<a name="580" href="#580">580</a>         <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html">WriteRequestQueue</a> writeRequestQueue = session.getWriteRequestQueue();
<a name="581" href="#581">581</a> 
<a name="582" href="#582">582</a>         <em class="jxr_comment">// Set limitation for the number of written bytes for read-write</em>
<a name="583" href="#583">583</a>         <em class="jxr_comment">// fairness.  I used maxReadBufferSize * 3 / 2, which yields best</em>
<a name="584" href="#584">584</a>         <em class="jxr_comment">// performance in my experience while not breaking fairness much.</em>
<a name="585" href="#585">585</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> maxWrittenBytes = session.getConfig().getMaxReadBufferSize() +
<a name="586" href="#586">586</a>                               (session.getConfig().getMaxReadBufferSize() &gt;&gt;&gt; 1);
<a name="587" href="#587">587</a>         <strong class="jxr_keyword">int</strong> writtenBytes = 0;
<a name="588" href="#588">588</a>         <strong class="jxr_keyword">try</strong> {
<a name="589" href="#589">589</a>             <em class="jxr_comment">// Clear OP_WRITE</em>
<a name="590" href="#590">590</a>             setInterestedInWrite(session, false);
<a name="591" href="#591">591</a>             <strong class="jxr_keyword">do</strong> {
<a name="592" href="#592">592</a>                 <em class="jxr_comment">// Check for pending writes.</em>
<a name="593" href="#593">593</a>                 <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> req = session.getCurrentWriteRequest();
<a name="594" href="#594">594</a>                 <strong class="jxr_keyword">if</strong> (req == <strong class="jxr_keyword">null</strong>) {
<a name="595" href="#595">595</a>                     req = writeRequestQueue.poll(session);
<a name="596" href="#596">596</a>                     <strong class="jxr_keyword">if</strong> (req == <strong class="jxr_keyword">null</strong>) {
<a name="597" href="#597">597</a>                         <strong class="jxr_keyword">break</strong>;
<a name="598" href="#598">598</a>                     }
<a name="599" href="#599">599</a>                     session.setCurrentWriteRequest(req);
<a name="600" href="#600">600</a>                 }
<a name="601" href="#601">601</a> 
<a name="602" href="#602">602</a>                 <strong class="jxr_keyword">int</strong> localWrittenBytes = 0;
<a name="603" href="#603">603</a>                 Object message = req.getMessage();
<a name="604" href="#604">604</a>                 <strong class="jxr_keyword">if</strong> (message instanceof IoBuffer) {
<a name="605" href="#605">605</a>                     localWrittenBytes = writeBuffer(
<a name="606" href="#606">606</a>                             session, req, hasFragmentation,
<a name="607" href="#607">607</a>                             maxWrittenBytes - writtenBytes,
<a name="608" href="#608">608</a>                             currentTime);
<a name="609" href="#609">609</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (message instanceof FileRegion) {
<a name="610" href="#610">610</a>                     localWrittenBytes = writeFile(
<a name="611" href="#611">611</a>                             session, req, hasFragmentation,
<a name="612" href="#612">612</a>                             maxWrittenBytes - writtenBytes,
<a name="613" href="#613">613</a>                             currentTime);
<a name="614" href="#614">614</a> 
<a name="615" href="#615">615</a>                     <em class="jxr_comment">// Fix for Java bug on Linux http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5103988</em>
<a name="616" href="#616">616</a>                     <em class="jxr_comment">// If there's still data to be written in the FileRegion, return 0 indicating that we need</em>
<a name="617" href="#617">617</a>                     <em class="jxr_comment">// to pause until writing may resume.</em>
<a name="618" href="#618">618</a>                     <strong class="jxr_keyword">if</strong> (localWrittenBytes &gt; 0 &amp;&amp; ((FileRegion) message).getRemainingBytes() &gt; 0) {
<a name="619" href="#619">619</a>                         writtenBytes += localWrittenBytes;
<a name="620" href="#620">620</a>                         setInterestedInWrite(session, <strong class="jxr_keyword">true</strong>);
<a name="621" href="#621">621</a>                         <strong class="jxr_keyword">return</strong> false;
<a name="622" href="#622">622</a>                     }
<a name="623" href="#623">623</a>                 } <strong class="jxr_keyword">else</strong> {
<a name="624" href="#624">624</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"Don't know how to handle message of type '"</span> + message.getClass().getName() + <span class="jxr_string">"'.  Are you missing a protocol encoder?"</span>);
<a name="625" href="#625">625</a>                 }
<a name="626" href="#626">626</a> 
<a name="627" href="#627">627</a>                 <strong class="jxr_keyword">if</strong> (localWrittenBytes == 0) {
<a name="628" href="#628">628</a>                     <em class="jxr_comment">// Kernel buffer is full.</em>
<a name="629" href="#629">629</a>                     setInterestedInWrite(session, <strong class="jxr_keyword">true</strong>);
<a name="630" href="#630">630</a>                     <strong class="jxr_keyword">return</strong> false;
<a name="631" href="#631">631</a>                 }
<a name="632" href="#632">632</a> 
<a name="633" href="#633">633</a>                 writtenBytes += localWrittenBytes;
<a name="634" href="#634">634</a> 
<a name="635" href="#635">635</a>                 <strong class="jxr_keyword">if</strong> (writtenBytes &gt;= maxWrittenBytes) {
<a name="636" href="#636">636</a>                     <em class="jxr_comment">// Wrote too much</em>
<a name="637" href="#637">637</a>                     scheduleFlush(session);
<a name="638" href="#638">638</a>                     <strong class="jxr_keyword">return</strong> false;
<a name="639" href="#639">639</a>                 }
<a name="640" href="#640">640</a>             } <strong class="jxr_keyword">while</strong> (writtenBytes &lt; maxWrittenBytes);
<a name="641" href="#641">641</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="642" href="#642">642</a>             session.getFilterChain().fireExceptionCaught(e);
<a name="643" href="#643">643</a>             <strong class="jxr_keyword">return</strong> false;
<a name="644" href="#644">644</a>         }
<a name="645" href="#645">645</a> 
<a name="646" href="#646">646</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a name="647" href="#647">647</a>     }
<a name="648" href="#648">648</a> 
<a name="649" href="#649">649</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> writeBuffer(T session, <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> req,
<a name="650" href="#650">650</a>             <strong class="jxr_keyword">boolean</strong> hasFragmentation, <strong class="jxr_keyword">int</strong> maxLength, <strong class="jxr_keyword">long</strong> currentTime) <strong class="jxr_keyword">throws</strong> Exception {
<a name="651" href="#651">651</a>         <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buf = (IoBuffer) req.getMessage();
<a name="652" href="#652">652</a>         <strong class="jxr_keyword">int</strong> localWrittenBytes = 0;
<a name="653" href="#653">653</a>         <strong class="jxr_keyword">if</strong> (buf.hasRemaining()) {
<a name="654" href="#654">654</a>             <strong class="jxr_keyword">int</strong> length;
<a name="655" href="#655">655</a>             <strong class="jxr_keyword">if</strong> (hasFragmentation) {
<a name="656" href="#656">656</a>                 length = Math.min(buf.remaining(), maxLength);
<a name="657" href="#657">657</a>             } <strong class="jxr_keyword">else</strong> {
<a name="658" href="#658">658</a>                 length = buf.remaining();
<a name="659" href="#659">659</a>             }
<a name="660" href="#660">660</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = WRITE_SPIN_COUNT; i &gt; 0; i --) {
<a name="661" href="#661">661</a>                 localWrittenBytes = write(session, buf, length);
<a name="662" href="#662">662</a>                 <strong class="jxr_keyword">if</strong> (localWrittenBytes != 0) {
<a name="663" href="#663">663</a>                     <strong class="jxr_keyword">break</strong>;
<a name="664" href="#664">664</a>                 }
<a name="665" href="#665">665</a>             }
<a name="666" href="#666">666</a>         }
<a name="667" href="#667">667</a> 
<a name="668" href="#668">668</a>         session.increaseWrittenBytes(localWrittenBytes, currentTime);
<a name="669" href="#669">669</a> 
<a name="670" href="#670">670</a>         <strong class="jxr_keyword">if</strong> (!buf.hasRemaining() ||
<a name="671" href="#671">671</a>                 !hasFragmentation &amp;&amp; localWrittenBytes != 0) {
<a name="672" href="#672">672</a>             <em class="jxr_comment">// Buffer has been sent, clear the current request.</em>
<a name="673" href="#673">673</a>             buf.reset();
<a name="674" href="#674">674</a>             fireMessageSent(session, req);
<a name="675" href="#675">675</a>         }
<a name="676" href="#676">676</a>         <strong class="jxr_keyword">return</strong> localWrittenBytes;
<a name="677" href="#677">677</a>     }
<a name="678" href="#678">678</a> 
<a name="679" href="#679">679</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> writeFile(T session, <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> req,
<a name="680" href="#680">680</a>             <strong class="jxr_keyword">boolean</strong> hasFragmentation, <strong class="jxr_keyword">int</strong> maxLength, <strong class="jxr_keyword">long</strong> currentTime) <strong class="jxr_keyword">throws</strong> Exception {
<a name="681" href="#681">681</a>         <strong class="jxr_keyword">int</strong> localWrittenBytes;
<a name="682" href="#682">682</a>         <a href="../../../../../org/apache/mina/core/file/FileRegion.html">FileRegion</a> region = (FileRegion) req.getMessage();
<a name="683" href="#683">683</a>         <strong class="jxr_keyword">if</strong> (region.getRemainingBytes() &gt; 0) {
<a name="684" href="#684">684</a>             <strong class="jxr_keyword">int</strong> length;
<a name="685" href="#685">685</a>             <strong class="jxr_keyword">if</strong> (hasFragmentation) {
<a name="686" href="#686">686</a>                 length = (<strong class="jxr_keyword">int</strong>) Math.min(region.getRemainingBytes(), maxLength);
<a name="687" href="#687">687</a>             } <strong class="jxr_keyword">else</strong> {
<a name="688" href="#688">688</a>                 length = (<strong class="jxr_keyword">int</strong>) Math.min(Integer.MAX_VALUE, region.getRemainingBytes());
<a name="689" href="#689">689</a>             }
<a name="690" href="#690">690</a>             localWrittenBytes = transferFile(session, region, length);
<a name="691" href="#691">691</a>             region.update(localWrittenBytes);
<a name="692" href="#692">692</a>         } <strong class="jxr_keyword">else</strong> {
<a name="693" href="#693">693</a>             localWrittenBytes = 0;
<a name="694" href="#694">694</a>         }
<a name="695" href="#695">695</a> 
<a name="696" href="#696">696</a>         session.increaseWrittenBytes(localWrittenBytes, currentTime);
<a name="697" href="#697">697</a> 
<a name="698" href="#698">698</a>         <strong class="jxr_keyword">if</strong> (region.getRemainingBytes() &lt;= 0 ||
<a name="699" href="#699">699</a>                     !hasFragmentation &amp;&amp; localWrittenBytes != 0) {
<a name="700" href="#700">700</a>             fireMessageSent(session, req);
<a name="701" href="#701">701</a>         }
<a name="702" href="#702">702</a> 
<a name="703" href="#703">703</a>         <strong class="jxr_keyword">return</strong> localWrittenBytes;
<a name="704" href="#704">704</a>     }
<a name="705" href="#705">705</a> 
<a name="706" href="#706">706</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> fireMessageSent(T session, <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> req) {
<a name="707" href="#707">707</a>         session.setCurrentWriteRequest(<strong class="jxr_keyword">null</strong>);
<a name="708" href="#708">708</a>         session.getFilterChain().fireMessageSent(req);
<a name="709" href="#709">709</a>     }
<a name="710" href="#710">710</a> 
<a name="711" href="#711">711</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateTrafficMask() {
<a name="712" href="#712">712</a>         <strong class="jxr_keyword">for</strong> (; ;) {
<a name="713" href="#713">713</a>             T session = trafficControllingSessions.poll();
<a name="714" href="#714">714</a> 
<a name="715" href="#715">715</a>             <strong class="jxr_keyword">if</strong> (session == <strong class="jxr_keyword">null</strong>) {
<a name="716" href="#716">716</a>                 <strong class="jxr_keyword">break</strong>;
<a name="717" href="#717">717</a>             }
<a name="718" href="#718">718</a> 
<a name="719" href="#719">719</a>             <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html">SessionState</a> state = state(session);
<a name="720" href="#720">720</a>             <strong class="jxr_keyword">switch</strong> (state) {
<a name="721" href="#721">721</a>             <strong class="jxr_keyword">case</strong> OPEN:
<a name="722" href="#722">722</a>                 updateTrafficMaskNow(session);
<a name="723" href="#723">723</a>                 <strong class="jxr_keyword">break</strong>;
<a name="724" href="#724">724</a>             <strong class="jxr_keyword">case</strong> CLOSED:
<a name="725" href="#725">725</a>                 <strong class="jxr_keyword">break</strong>;
<a name="726" href="#726">726</a>             <strong class="jxr_keyword">case</strong> PREPARING:
<a name="727" href="#727">727</a>                 <em class="jxr_comment">// Retry later if session is not yet fully initialized.</em>
<a name="728" href="#728">728</a>                 <em class="jxr_comment">// (In case that Session.suspend??() or session.resume??() is</em>
<a name="729" href="#729">729</a>                 <em class="jxr_comment">// called before addSession() is processed)</em>
<a name="730" href="#730">730</a>                 scheduleTrafficControl(session);
<a name="731" href="#731">731</a>                 <strong class="jxr_keyword">return</strong>;
<a name="732" href="#732">732</a>             <strong class="jxr_keyword">default</strong>:
<a name="733" href="#733">733</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(String.valueOf(state));
<a name="734" href="#734">734</a>             }
<a name="735" href="#735">735</a>         }
<a name="736" href="#736">736</a>     }
<a name="737" href="#737">737</a> 
<a name="738" href="#738">738</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateTrafficMaskNow(T session) {
<a name="739" href="#739">739</a>         <em class="jxr_comment">// The normal is OP_READ and, if there are write requests in the</em>
<a name="740" href="#740">740</a>         <em class="jxr_comment">// session's write queue, set OP_WRITE to trigger flushing.</em>
<a name="741" href="#741">741</a>         <strong class="jxr_keyword">int</strong> mask = session.getTrafficMask().getInterestOps();
<a name="742" href="#742">742</a>         <strong class="jxr_keyword">try</strong> {
<a name="743" href="#743">743</a>             setInterestedInRead(session, (mask &amp; SelectionKey.OP_READ) != 0);
<a name="744" href="#744">744</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="745" href="#745">745</a>             session.getFilterChain().fireExceptionCaught(e);
<a name="746" href="#746">746</a>         }
<a name="747" href="#747">747</a>         <strong class="jxr_keyword">try</strong> {
<a name="748" href="#748">748</a>             setInterestedInWrite(
<a name="749" href="#749">749</a>                     session,
<a name="750" href="#750">750</a>                     !session.getWriteRequestQueue().isEmpty(session) &amp;&amp;
<a name="751" href="#751">751</a>                             (mask &amp; SelectionKey.OP_WRITE) != 0);
<a name="752" href="#752">752</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="753" href="#753">753</a>             session.getFilterChain().fireExceptionCaught(e);
<a name="754" href="#754">754</a>         }
<a name="755" href="#755">755</a>     }
<a name="756" href="#756">756</a> 
<a name="757" href="#757">757</a>     
<a name="758" href="#758">758</a>     <em class="jxr_javadoccomment">/**</em>
<a name="759" href="#759">759</a> <em class="jxr_javadoccomment">     *  </em>
<a name="760" href="#760">760</a> <em class="jxr_javadoccomment">     *</em>
<a name="761" href="#761">761</a> <em class="jxr_javadoccomment">     */</em>
<a name="762" href="#762">762</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.html">Worker</a> implements Runnable {
<a name="763" href="#763">763</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a name="764" href="#764">764</a>             <strong class="jxr_keyword">int</strong> nSessions = 0;
<a name="765" href="#765">765</a>             lastIdleCheckTime = System.currentTimeMillis();
<a name="766" href="#766">766</a> 
<a name="767" href="#767">767</a>             <strong class="jxr_keyword">for</strong> (;;) {
<a name="768" href="#768">768</a>                 <strong class="jxr_keyword">try</strong> {
<a name="769" href="#769">769</a>                     <strong class="jxr_keyword">boolean</strong> selected = select(1000);
<a name="770" href="#770">770</a> 
<a name="771" href="#771">771</a>                     nSessions += add();
<a name="772" href="#772">772</a>                     updateTrafficMask();
<a name="773" href="#773">773</a> 
<a name="774" href="#774">774</a>                     <strong class="jxr_keyword">if</strong> (selected) {
<a name="775" href="#775">775</a>                         process();
<a name="776" href="#776">776</a>                     }
<a name="777" href="#777">777</a> 
<a name="778" href="#778">778</a>                     <strong class="jxr_keyword">long</strong> currentTime = System.currentTimeMillis();
<a name="779" href="#779">779</a>                     flush(currentTime);
<a name="780" href="#780">780</a>                     nSessions -= remove();
<a name="781" href="#781">781</a>                     notifyIdleSessions(currentTime);
<a name="782" href="#782">782</a> 
<a name="783" href="#783">783</a>                     <strong class="jxr_keyword">if</strong> (nSessions == 0) {
<a name="784" href="#784">784</a>                         <strong class="jxr_keyword">synchronized</strong> (lock) {
<a name="785" href="#785">785</a>                             <strong class="jxr_keyword">if</strong> (newSessions.isEmpty() &amp;&amp; isSelectorEmpty()) {
<a name="786" href="#786">786</a>                                 worker = <strong class="jxr_keyword">null</strong>;
<a name="787" href="#787">787</a>                                 <strong class="jxr_keyword">break</strong>;
<a name="788" href="#788">788</a>                             }
<a name="789" href="#789">789</a>                         }
<a name="790" href="#790">790</a>                     }
<a name="791" href="#791">791</a> 
<a name="792" href="#792">792</a>                     <em class="jxr_comment">// Disconnect all sessions immediately if disposal has been</em>
<a name="793" href="#793">793</a>                     <em class="jxr_comment">// requested so that we exit this loop eventually.</em>
<a name="794" href="#794">794</a>                     <strong class="jxr_keyword">if</strong> (isDisposing()) {
<a name="795" href="#795">795</a>                         <strong class="jxr_keyword">for</strong> (Iterator&lt;T&gt; i = allSessions(); i.hasNext(); ) {
<a name="796" href="#796">796</a>                             scheduleRemove(i.next());
<a name="797" href="#797">797</a>                         }
<a name="798" href="#798">798</a>                         wakeup();
<a name="799" href="#799">799</a>                     }
<a name="800" href="#800">800</a>                 } <strong class="jxr_keyword">catch</strong> (Throwable t) {
<a name="801" href="#801">801</a>                     ExceptionMonitor.getInstance().exceptionCaught(t);
<a name="802" href="#802">802</a> 
<a name="803" href="#803">803</a>                     <strong class="jxr_keyword">try</strong> {
<a name="804" href="#804">804</a>                         Thread.sleep(1000);
<a name="805" href="#805">805</a>                     } <strong class="jxr_keyword">catch</strong> (InterruptedException e1) {
<a name="806" href="#806">806</a>                         ExceptionMonitor.getInstance().exceptionCaught(e1);
<a name="807" href="#807">807</a>                     }
<a name="808" href="#808">808</a>                 }
<a name="809" href="#809">809</a>             }
<a name="810" href="#810">810</a> 
<a name="811" href="#811">811</a>             <strong class="jxr_keyword">try</strong> {
<a name="812" href="#812">812</a>                 <strong class="jxr_keyword">synchronized</strong> (disposalLock) {
<a name="813" href="#813">813</a>                     <strong class="jxr_keyword">if</strong> (isDisposing()) {
<a name="814" href="#814">814</a>                         dispose0();
<a name="815" href="#815">815</a>                     }
<a name="816" href="#816">816</a>                 }
<a name="817" href="#817">817</a>             } <strong class="jxr_keyword">catch</strong> (Throwable t) {
<a name="818" href="#818">818</a>                 ExceptionMonitor.getInstance().exceptionCaught(t);
<a name="819" href="#819">819</a>             } <strong class="jxr_keyword">finally</strong> {
<a name="820" href="#820">820</a>                 disposalFuture.setValue(<strong class="jxr_keyword">true</strong>);
<a name="821" href="#821">821</a>             }
<a name="822" href="#822">822</a>         }
<a name="823" href="#823">823</a>     }
<a name="824" href="#824">824</a> 
<a name="825" href="#825">825</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> enum <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html">SessionState</a> {
<a name="826" href="#826">826</a>         OPEN,
<a name="827" href="#827">827</a>         CLOSED,
<a name="828" href="#828">828</a>         PREPARING,
<a name="829" href="#829">829</a>     }
<a name="830" href="#830">830</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

