<!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_US" lang="en_US">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>AprIoProcessor xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../apidocs/org/apache/mina/transport/socket/apr/AprIoProcessor.html">View Javadoc</a></div><pre>

<a class="jxr_linenumber" name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" 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 class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.transport.socket.apr;
<a class="jxr_linenumber" name="21" href="#21">21</a>  
<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.nio.ByteBuffer;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.Queue;
<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.ConcurrentLinkedQueue;
<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.Executor;
<a class="jxr_linenumber" name="30" href="#30">30</a>  
<a class="jxr_linenumber" name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.RuntimeIoException;
<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.file.FileRegion;
<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.polling.AbstractPollingIoProcessor;
<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.SessionState;
<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.tomcat.jni.File;
<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.tomcat.jni.Poll;
<a class="jxr_linenumber" name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.tomcat.jni.Pool;
<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.tomcat.jni.Socket;
<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.tomcat.jni.Status;
<a class="jxr_linenumber" name="41" href="#41">41</a>  
<a class="jxr_linenumber" name="42" href="#42">42</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * The class in charge of processing socket level IO events for the</em>
<a class="jxr_linenumber" name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * {@link AprSocketConnector}</em>
<a class="jxr_linenumber" name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="http://mina.apache.org" target="alexandria_uri">http://mina.apache.org</a>"&gt;Apache MINA Project&lt;/a&gt;</em>
<a class="jxr_linenumber" name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="48" href="#48">48</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/mina/transport/socket/apr/AprIoProcessor.html">AprIoProcessor</a> <strong class="jxr_keyword">extends</strong> AbstractPollingIoProcessor&lt;AprSession&gt; {
<a class="jxr_linenumber" name="49" href="#49">49</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> POLLSET_SIZE = 1024;
<a class="jxr_linenumber" name="50" href="#50">50</a>  
<a class="jxr_linenumber" name="51" href="#51">51</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map&lt;Long, AprSession&gt; allSessions = <strong class="jxr_keyword">new</strong> HashMap&lt;Long, AprSession&gt;(POLLSET_SIZE);
<a class="jxr_linenumber" name="52" href="#52">52</a>  
<a class="jxr_linenumber" name="53" href="#53">53</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Object wakeupLock = <strong class="jxr_keyword">new</strong> Object();
<a class="jxr_linenumber" name="54" href="#54">54</a>  
<a class="jxr_linenumber" name="55" href="#55">55</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> wakeupSocket;
<a class="jxr_linenumber" name="56" href="#56">56</a>  
<a class="jxr_linenumber" name="57" href="#57">57</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> toBeWakenUp;
<a class="jxr_linenumber" name="58" href="#58">58</a>  
<a class="jxr_linenumber" name="59" href="#59">59</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> pool;
<a class="jxr_linenumber" name="60" href="#60">60</a>  
<a class="jxr_linenumber" name="61" href="#61">61</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> bufferPool; <em class="jxr_comment">// memory pool</em>
<a class="jxr_linenumber" name="62" href="#62">62</a>  
<a class="jxr_linenumber" name="63" href="#63">63</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> pollset; <em class="jxr_comment">// socket poller</em>
<a class="jxr_linenumber" name="64" href="#64">64</a>  
<a class="jxr_linenumber" name="65" href="#65">65</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong>[] polledSockets = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">long</strong>[POLLSET_SIZE &lt;&lt; 1];
<a class="jxr_linenumber" name="66" href="#66">66</a>  
<a class="jxr_linenumber" name="67" href="#67">67</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Queue&lt;AprSession&gt; polledSessions = <strong class="jxr_keyword">new</strong> ConcurrentLinkedQueue&lt;AprSession&gt;();
<a class="jxr_linenumber" name="68" href="#68">68</a>  
<a class="jxr_linenumber" name="69" href="#69">69</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="70" href="#70">70</a>  <em class="jxr_javadoccomment">     * Create a new instance of {@link AprIoProcessor} with a given Exector for</em>
<a class="jxr_linenumber" name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     * handling I/Os events.</em>
<a class="jxr_linenumber" name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     * @param executor</em>
<a class="jxr_linenumber" name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     *            the {@link Executor} for handling I/O events</em>
<a class="jxr_linenumber" name="75" href="#75">75</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="76" href="#76">76</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/mina/transport/socket/apr/AprIoProcessor.html">AprIoProcessor</a>(Executor executor) {
<a class="jxr_linenumber" name="77" href="#77">77</a>          <strong class="jxr_keyword">super</strong>(executor);
<a class="jxr_linenumber" name="78" href="#78">78</a>  
<a class="jxr_linenumber" name="79" href="#79">79</a>          <em class="jxr_comment">// initialize a memory pool for APR functions</em>
<a class="jxr_linenumber" name="80" href="#80">80</a>          pool = Pool.create(AprLibrary.getInstance().getRootPool());
<a class="jxr_linenumber" name="81" href="#81">81</a>          bufferPool = Pool.create(AprLibrary.getInstance().getRootPool());
<a class="jxr_linenumber" name="82" href="#82">82</a>  
<a class="jxr_linenumber" name="83" href="#83">83</a>          <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="84" href="#84">84</a>              wakeupSocket = Socket.create(Socket.APR_INET, Socket.SOCK_DGRAM, Socket.APR_PROTO_UDP, pool);
<a class="jxr_linenumber" name="85" href="#85">85</a>          } <strong class="jxr_keyword">catch</strong> (RuntimeException e) {
<a class="jxr_linenumber" name="86" href="#86">86</a>              <strong class="jxr_keyword">throw</strong> e;
<a class="jxr_linenumber" name="87" href="#87">87</a>          } <strong class="jxr_keyword">catch</strong> (Error e) {
<a class="jxr_linenumber" name="88" href="#88">88</a>              <strong class="jxr_keyword">throw</strong> e;
<a class="jxr_linenumber" name="89" href="#89">89</a>          } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="90" href="#90">90</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/mina/core/RuntimeIoException.html">RuntimeIoException</a>(<span class="jxr_string">"Failed to create a wakeup socket."</span>, e);
<a class="jxr_linenumber" name="91" href="#91">91</a>          }
<a class="jxr_linenumber" name="92" href="#92">92</a>  
<a class="jxr_linenumber" name="93" href="#93">93</a>          <strong class="jxr_keyword">boolean</strong> success = false;
<a class="jxr_linenumber" name="94" href="#94">94</a>          <strong class="jxr_keyword">long</strong> newPollset;
<a class="jxr_linenumber" name="95" href="#95">95</a>          <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="96" href="#96">96</a>              newPollset = Poll.create(POLLSET_SIZE, pool, Poll.APR_POLLSET_THREADSAFE, Long.MAX_VALUE);
<a class="jxr_linenumber" name="97" href="#97">97</a>  
<a class="jxr_linenumber" name="98" href="#98">98</a>              <strong class="jxr_keyword">if</strong> (newPollset == 0) {
<a class="jxr_linenumber" name="99" href="#99">99</a>                  newPollset = Poll.create(62, pool, Poll.APR_POLLSET_THREADSAFE, Long.MAX_VALUE);
<a class="jxr_linenumber" name="100" href="#100">100</a>             }
<a class="jxr_linenumber" name="101" href="#101">101</a> 
<a class="jxr_linenumber" name="102" href="#102">102</a>             pollset = newPollset;
<a class="jxr_linenumber" name="103" href="#103">103</a>             <strong class="jxr_keyword">if</strong> (pollset &lt; 0) {
<a class="jxr_linenumber" name="104" href="#104">104</a>                 <strong class="jxr_keyword">if</strong> (Status.APR_STATUS_IS_ENOTIMPL(-(<strong class="jxr_keyword">int</strong>) pollset)) {
<a class="jxr_linenumber" name="105" href="#105">105</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/mina/core/RuntimeIoException.html">RuntimeIoException</a>(<span class="jxr_string">"Thread-safe pollset is not supported in this platform."</span>);
<a class="jxr_linenumber" name="106" href="#106">106</a>                 }
<a class="jxr_linenumber" name="107" href="#107">107</a>             }
<a class="jxr_linenumber" name="108" href="#108">108</a>             success = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="109" href="#109">109</a>         } <strong class="jxr_keyword">catch</strong> (RuntimeException e) {
<a class="jxr_linenumber" name="110" href="#110">110</a>             <strong class="jxr_keyword">throw</strong> e;
<a class="jxr_linenumber" name="111" href="#111">111</a>         } <strong class="jxr_keyword">catch</strong> (Error e) {
<a class="jxr_linenumber" name="112" href="#112">112</a>             <strong class="jxr_keyword">throw</strong> e;
<a class="jxr_linenumber" name="113" href="#113">113</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="114" href="#114">114</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/mina/core/RuntimeIoException.html">RuntimeIoException</a>(<span class="jxr_string">"Failed to create a pollset."</span>, e);
<a class="jxr_linenumber" name="115" href="#115">115</a>         } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="116" href="#116">116</a>             <strong class="jxr_keyword">if</strong> (!success) {
<a class="jxr_linenumber" name="117" href="#117">117</a>                 dispose();
<a class="jxr_linenumber" name="118" href="#118">118</a>             }
<a class="jxr_linenumber" name="119" href="#119">119</a>         }
<a class="jxr_linenumber" name="120" href="#120">120</a>     }
<a class="jxr_linenumber" name="121" href="#121">121</a> 
<a class="jxr_linenumber" name="122" href="#122">122</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="123" href="#123">123</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="124" href="#124">124</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="125" href="#125">125</a>     @Override
<a class="jxr_linenumber" name="126" href="#126">126</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> doDispose() {
<a class="jxr_linenumber" name="127" href="#127">127</a>         Poll.destroy(pollset);
<a class="jxr_linenumber" name="128" href="#128">128</a>         Socket.close(wakeupSocket);
<a class="jxr_linenumber" name="129" href="#129">129</a>         Pool.destroy(bufferPool);
<a class="jxr_linenumber" name="130" href="#130">130</a>         Pool.destroy(pool);
<a class="jxr_linenumber" name="131" href="#131">131</a>     }
<a class="jxr_linenumber" name="132" href="#132">132</a> 
<a class="jxr_linenumber" name="133" href="#133">133</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="134" href="#134">134</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="135" href="#135">135</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="136" href="#136">136</a>     @Override
<a class="jxr_linenumber" name="137" href="#137">137</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> select() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="138" href="#138">138</a>         <strong class="jxr_keyword">return</strong> select(Integer.MAX_VALUE);
<a class="jxr_linenumber" name="139" href="#139">139</a>     }
<a class="jxr_linenumber" name="140" href="#140">140</a> 
<a class="jxr_linenumber" name="141" href="#141">141</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="142" href="#142">142</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="143" href="#143">143</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="144" href="#144">144</a>     @Override
<a class="jxr_linenumber" name="145" href="#145">145</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> select(<strong class="jxr_keyword">long</strong> timeout) <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="146" href="#146">146</a>         <strong class="jxr_keyword">int</strong> rv = Poll.poll(pollset, 1000 * timeout, polledSockets, false);
<a class="jxr_linenumber" name="147" href="#147">147</a>         <strong class="jxr_keyword">if</strong> (rv &lt;= 0) {
<a class="jxr_linenumber" name="148" href="#148">148</a>             <strong class="jxr_keyword">if</strong> (rv != -120001) {
<a class="jxr_linenumber" name="149" href="#149">149</a>                 throwException(rv);
<a class="jxr_linenumber" name="150" href="#150">150</a>             }
<a class="jxr_linenumber" name="151" href="#151">151</a> 
<a class="jxr_linenumber" name="152" href="#152">152</a>             rv = Poll.maintain(pollset, polledSockets, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="153" href="#153">153</a>             <strong class="jxr_keyword">if</strong> (rv &gt; 0) {
<a class="jxr_linenumber" name="154" href="#154">154</a>                 <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; rv; i++) {
<a class="jxr_linenumber" name="155" href="#155">155</a>                     <strong class="jxr_keyword">long</strong> socket = polledSockets[i];
<a class="jxr_linenumber" name="156" href="#156">156</a>                     <a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session = allSessions.get(socket);
<a class="jxr_linenumber" name="157" href="#157">157</a>                     <strong class="jxr_keyword">if</strong> (session == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="158" href="#158">158</a>                         <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="159" href="#159">159</a>                     }
<a class="jxr_linenumber" name="160" href="#160">160</a> 
<a class="jxr_linenumber" name="161" href="#161">161</a>                     <strong class="jxr_keyword">int</strong> flag = (session.isInterestedInRead() ? Poll.APR_POLLIN : 0)
<a class="jxr_linenumber" name="162" href="#162">162</a>                             | (session.isInterestedInWrite() ? Poll.APR_POLLOUT : 0);
<a class="jxr_linenumber" name="163" href="#163">163</a> 
<a class="jxr_linenumber" name="164" href="#164">164</a>                     Poll.add(pollset, socket, flag);
<a class="jxr_linenumber" name="165" href="#165">165</a>                 }
<a class="jxr_linenumber" name="166" href="#166">166</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (rv &lt; 0) {
<a class="jxr_linenumber" name="167" href="#167">167</a>                 throwException(rv);
<a class="jxr_linenumber" name="168" href="#168">168</a>             }
<a class="jxr_linenumber" name="169" href="#169">169</a> 
<a class="jxr_linenumber" name="170" href="#170">170</a>             <strong class="jxr_keyword">return</strong> 0;
<a class="jxr_linenumber" name="171" href="#171">171</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="172" href="#172">172</a>             rv &lt;&lt;= 1;
<a class="jxr_linenumber" name="173" href="#173">173</a>             <strong class="jxr_keyword">if</strong> (!polledSessions.isEmpty()) {
<a class="jxr_linenumber" name="174" href="#174">174</a>                 polledSessions.clear();
<a class="jxr_linenumber" name="175" href="#175">175</a>             }
<a class="jxr_linenumber" name="176" href="#176">176</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; rv; i++) {
<a class="jxr_linenumber" name="177" href="#177">177</a>                 <strong class="jxr_keyword">long</strong> flag = polledSockets[i];
<a class="jxr_linenumber" name="178" href="#178">178</a>                 <strong class="jxr_keyword">long</strong> socket = polledSockets[++i];
<a class="jxr_linenumber" name="179" href="#179">179</a>                 <strong class="jxr_keyword">if</strong> (socket == wakeupSocket) {
<a class="jxr_linenumber" name="180" href="#180">180</a>                     <strong class="jxr_keyword">synchronized</strong> (wakeupLock) {
<a class="jxr_linenumber" name="181" href="#181">181</a>                         Poll.remove(pollset, wakeupSocket);
<a class="jxr_linenumber" name="182" href="#182">182</a>                         toBeWakenUp = false;
<a class="jxr_linenumber" name="183" href="#183">183</a>                         wakeupCalled.set(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="184" href="#184">184</a>                     }
<a class="jxr_linenumber" name="185" href="#185">185</a>                     <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="186" href="#186">186</a>                 }
<a class="jxr_linenumber" name="187" href="#187">187</a>                 <a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session = allSessions.get(socket);
<a class="jxr_linenumber" name="188" href="#188">188</a>                 <strong class="jxr_keyword">if</strong> (session == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="189" href="#189">189</a>                     <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="190" href="#190">190</a>                 }
<a class="jxr_linenumber" name="191" href="#191">191</a> 
<a class="jxr_linenumber" name="192" href="#192">192</a>                 session.setReadable((flag &amp; Poll.APR_POLLIN) != 0);
<a class="jxr_linenumber" name="193" href="#193">193</a>                 session.setWritable((flag &amp; Poll.APR_POLLOUT) != 0);
<a class="jxr_linenumber" name="194" href="#194">194</a> 
<a class="jxr_linenumber" name="195" href="#195">195</a>                 polledSessions.add(session);
<a class="jxr_linenumber" name="196" href="#196">196</a>             }
<a class="jxr_linenumber" name="197" href="#197">197</a> 
<a class="jxr_linenumber" name="198" href="#198">198</a>             <strong class="jxr_keyword">return</strong> polledSessions.size();
<a class="jxr_linenumber" name="199" href="#199">199</a>         }
<a class="jxr_linenumber" name="200" href="#200">200</a>     }
<a class="jxr_linenumber" name="201" href="#201">201</a> 
<a class="jxr_linenumber" name="202" href="#202">202</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="203" href="#203">203</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="204" href="#204">204</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="205" href="#205">205</a>     @Override
<a class="jxr_linenumber" name="206" href="#206">206</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isSelectorEmpty() {
<a class="jxr_linenumber" name="207" href="#207">207</a>         <strong class="jxr_keyword">return</strong> allSessions.isEmpty();
<a class="jxr_linenumber" name="208" href="#208">208</a>     }
<a class="jxr_linenumber" name="209" href="#209">209</a> 
<a class="jxr_linenumber" name="210" href="#210">210</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="211" href="#211">211</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="212" href="#212">212</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="213" href="#213">213</a>     @Override
<a class="jxr_linenumber" name="214" href="#214">214</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> wakeup() {
<a class="jxr_linenumber" name="215" href="#215">215</a>         <strong class="jxr_keyword">if</strong> (toBeWakenUp) {
<a class="jxr_linenumber" name="216" href="#216">216</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="217" href="#217">217</a>         }
<a class="jxr_linenumber" name="218" href="#218">218</a> 
<a class="jxr_linenumber" name="219" href="#219">219</a>         <em class="jxr_comment">// Add a dummy socket to the pollset.</em>
<a class="jxr_linenumber" name="220" href="#220">220</a>         <strong class="jxr_keyword">synchronized</strong> (wakeupLock) {
<a class="jxr_linenumber" name="221" href="#221">221</a>             toBeWakenUp = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="222" href="#222">222</a>             Poll.add(pollset, wakeupSocket, Poll.APR_POLLOUT);
<a class="jxr_linenumber" name="223" href="#223">223</a>         }
<a class="jxr_linenumber" name="224" href="#224">224</a>     }
<a class="jxr_linenumber" name="225" href="#225">225</a> 
<a class="jxr_linenumber" name="226" href="#226">226</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="227" href="#227">227</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="228" href="#228">228</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="229" href="#229">229</a>     @Override
<a class="jxr_linenumber" name="230" href="#230">230</a>     <strong class="jxr_keyword">protected</strong> Iterator&lt;AprSession&gt; allSessions() {
<a class="jxr_linenumber" name="231" href="#231">231</a>         <strong class="jxr_keyword">return</strong> allSessions.values().iterator();
<a class="jxr_linenumber" name="232" href="#232">232</a>     }
<a class="jxr_linenumber" name="233" href="#233">233</a> 
<a class="jxr_linenumber" name="234" href="#234">234</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="235" href="#235">235</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="236" href="#236">236</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="237" href="#237">237</a>     @Override
<a class="jxr_linenumber" name="238" href="#238">238</a>     <strong class="jxr_keyword">protected</strong> Iterator&lt;AprSession&gt; selectedSessions() {
<a class="jxr_linenumber" name="239" href="#239">239</a>         <strong class="jxr_keyword">return</strong> polledSessions.iterator();
<a class="jxr_linenumber" name="240" href="#240">240</a>     }
<a class="jxr_linenumber" name="241" href="#241">241</a> 
<a class="jxr_linenumber" name="242" href="#242">242</a>     @Override
<a class="jxr_linenumber" name="243" href="#243">243</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> init(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session) <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="244" href="#244">244</a>         <strong class="jxr_keyword">long</strong> s = session.getDescriptor();
<a class="jxr_linenumber" name="245" href="#245">245</a>         Socket.optSet(s, Socket.APR_SO_NONBLOCK, 1);
<a class="jxr_linenumber" name="246" href="#246">246</a>         Socket.timeoutSet(s, 0);
<a class="jxr_linenumber" name="247" href="#247">247</a> 
<a class="jxr_linenumber" name="248" href="#248">248</a>         <strong class="jxr_keyword">int</strong> rv = Poll.add(pollset, s, Poll.APR_POLLIN);
<a class="jxr_linenumber" name="249" href="#249">249</a>         <strong class="jxr_keyword">if</strong> (rv != Status.APR_SUCCESS) {
<a class="jxr_linenumber" name="250" href="#250">250</a>             throwException(rv);
<a class="jxr_linenumber" name="251" href="#251">251</a>         }
<a class="jxr_linenumber" name="252" href="#252">252</a> 
<a class="jxr_linenumber" name="253" href="#253">253</a>         session.setInterestedInRead(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="254" href="#254">254</a>         allSessions.put(s, session);
<a class="jxr_linenumber" name="255" href="#255">255</a>     }
<a class="jxr_linenumber" name="256" href="#256">256</a> 
<a class="jxr_linenumber" name="257" href="#257">257</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="258" href="#258">258</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="259" href="#259">259</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="260" href="#260">260</a>     @Override
<a class="jxr_linenumber" name="261" href="#261">261</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> destroy(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session) <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="262" href="#262">262</a>         <strong class="jxr_keyword">if</strong> (allSessions.remove(session.getDescriptor()) == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="263" href="#263">263</a>             <em class="jxr_comment">// Already destroyed.</em>
<a class="jxr_linenumber" name="264" href="#264">264</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="265" href="#265">265</a>         }
<a class="jxr_linenumber" name="266" href="#266">266</a> 
<a class="jxr_linenumber" name="267" href="#267">267</a>         <strong class="jxr_keyword">int</strong> ret = Poll.remove(pollset, session.getDescriptor());
<a class="jxr_linenumber" name="268" href="#268">268</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="269" href="#269">269</a>             <strong class="jxr_keyword">if</strong> (ret != Status.APR_SUCCESS) {
<a class="jxr_linenumber" name="270" href="#270">270</a>                 throwException(ret);
<a class="jxr_linenumber" name="271" href="#271">271</a>             }
<a class="jxr_linenumber" name="272" href="#272">272</a>         } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="273" href="#273">273</a>             ret = Socket.close(session.getDescriptor());
<a class="jxr_linenumber" name="274" href="#274">274</a> 
<a class="jxr_linenumber" name="275" href="#275">275</a>             <em class="jxr_comment">// destroying the session because it won't be reused</em>
<a class="jxr_linenumber" name="276" href="#276">276</a>             <em class="jxr_comment">// after this point</em>
<a class="jxr_linenumber" name="277" href="#277">277</a>             Socket.destroy(session.getDescriptor());
<a class="jxr_linenumber" name="278" href="#278">278</a>             session.setDescriptor(0);
<a class="jxr_linenumber" name="279" href="#279">279</a> 
<a class="jxr_linenumber" name="280" href="#280">280</a>             <strong class="jxr_keyword">if</strong> (ret != Status.APR_SUCCESS) {
<a class="jxr_linenumber" name="281" href="#281">281</a>                 throwException(ret);
<a class="jxr_linenumber" name="282" href="#282">282</a>             }
<a class="jxr_linenumber" name="283" href="#283">283</a>         }
<a class="jxr_linenumber" name="284" href="#284">284</a>     }
<a class="jxr_linenumber" name="285" href="#285">285</a> 
<a class="jxr_linenumber" name="286" href="#286">286</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="287" href="#287">287</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="288" href="#288">288</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="289" href="#289">289</a>     @Override
<a class="jxr_linenumber" name="290" href="#290">290</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/mina/core/session/SessionState.html">SessionState</a> getState(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session) {
<a class="jxr_linenumber" name="291" href="#291">291</a>         <strong class="jxr_keyword">long</strong> socket = session.getDescriptor();
<a class="jxr_linenumber" name="292" href="#292">292</a> 
<a class="jxr_linenumber" name="293" href="#293">293</a>         <strong class="jxr_keyword">if</strong> (socket != 0) {
<a class="jxr_linenumber" name="294" href="#294">294</a>             <strong class="jxr_keyword">return</strong> SessionState.OPENED;
<a class="jxr_linenumber" name="295" href="#295">295</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (allSessions.get(socket) != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="296" href="#296">296</a>             <strong class="jxr_keyword">return</strong> SessionState.OPENING; <em class="jxr_comment">// will occur ?</em>
<a class="jxr_linenumber" name="297" href="#297">297</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="298" href="#298">298</a>             <strong class="jxr_keyword">return</strong> SessionState.CLOSING;
<a class="jxr_linenumber" name="299" href="#299">299</a>         }
<a class="jxr_linenumber" name="300" href="#300">300</a>     }
<a class="jxr_linenumber" name="301" href="#301">301</a> 
<a class="jxr_linenumber" name="302" href="#302">302</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="303" href="#303">303</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="304" href="#304">304</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="305" href="#305">305</a>     @Override
<a class="jxr_linenumber" name="306" href="#306">306</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isReadable(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session) {
<a class="jxr_linenumber" name="307" href="#307">307</a>         <strong class="jxr_keyword">return</strong> session.isReadable();
<a class="jxr_linenumber" name="308" href="#308">308</a>     }
<a class="jxr_linenumber" name="309" href="#309">309</a> 
<a class="jxr_linenumber" name="310" href="#310">310</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="311" href="#311">311</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="312" href="#312">312</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="313" href="#313">313</a>     @Override
<a class="jxr_linenumber" name="314" href="#314">314</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isWritable(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session) {
<a class="jxr_linenumber" name="315" href="#315">315</a>         <strong class="jxr_keyword">return</strong> session.isWritable();
<a class="jxr_linenumber" name="316" href="#316">316</a>     }
<a class="jxr_linenumber" name="317" href="#317">317</a> 
<a class="jxr_linenumber" name="318" href="#318">318</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="319" href="#319">319</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="320" href="#320">320</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="321" href="#321">321</a>     @Override
<a class="jxr_linenumber" name="322" href="#322">322</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isInterestedInRead(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session) {
<a class="jxr_linenumber" name="323" href="#323">323</a>         <strong class="jxr_keyword">return</strong> session.isInterestedInRead();
<a class="jxr_linenumber" name="324" href="#324">324</a>     }
<a class="jxr_linenumber" name="325" href="#325">325</a> 
<a class="jxr_linenumber" name="326" href="#326">326</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="327" href="#327">327</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="328" href="#328">328</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="329" href="#329">329</a>     @Override
<a class="jxr_linenumber" name="330" href="#330">330</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isInterestedInWrite(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session) {
<a class="jxr_linenumber" name="331" href="#331">331</a>         <strong class="jxr_keyword">return</strong> session.isInterestedInWrite();
<a class="jxr_linenumber" name="332" href="#332">332</a>     }
<a class="jxr_linenumber" name="333" href="#333">333</a> 
<a class="jxr_linenumber" name="334" href="#334">334</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="335" href="#335">335</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="336" href="#336">336</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="337" href="#337">337</a>     @Override
<a class="jxr_linenumber" name="338" href="#338">338</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setInterestedInRead(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session, <strong class="jxr_keyword">boolean</strong> isInterested) <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="339" href="#339">339</a>         <strong class="jxr_keyword">if</strong> (session.isInterestedInRead() == isInterested) {
<a class="jxr_linenumber" name="340" href="#340">340</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="341" href="#341">341</a>         }
<a class="jxr_linenumber" name="342" href="#342">342</a> 
<a class="jxr_linenumber" name="343" href="#343">343</a>         <strong class="jxr_keyword">int</strong> rv = Poll.remove(pollset, session.getDescriptor());
<a class="jxr_linenumber" name="344" href="#344">344</a> 
<a class="jxr_linenumber" name="345" href="#345">345</a>         <strong class="jxr_keyword">if</strong> (rv != Status.APR_SUCCESS) {
<a class="jxr_linenumber" name="346" href="#346">346</a>             throwException(rv);
<a class="jxr_linenumber" name="347" href="#347">347</a>         }
<a class="jxr_linenumber" name="348" href="#348">348</a> 
<a class="jxr_linenumber" name="349" href="#349">349</a>         <strong class="jxr_keyword">int</strong> flags = (isInterested ? Poll.APR_POLLIN : 0) | (session.isInterestedInWrite() ? Poll.APR_POLLOUT : 0);
<a class="jxr_linenumber" name="350" href="#350">350</a> 
<a class="jxr_linenumber" name="351" href="#351">351</a>         rv = Poll.add(pollset, session.getDescriptor(), flags);
<a class="jxr_linenumber" name="352" href="#352">352</a> 
<a class="jxr_linenumber" name="353" href="#353">353</a>         <strong class="jxr_keyword">if</strong> (rv == Status.APR_SUCCESS) {
<a class="jxr_linenumber" name="354" href="#354">354</a>             session.setInterestedInRead(isInterested);
<a class="jxr_linenumber" name="355" href="#355">355</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="356" href="#356">356</a>             throwException(rv);
<a class="jxr_linenumber" name="357" href="#357">357</a>         }
<a class="jxr_linenumber" name="358" href="#358">358</a>     }
<a class="jxr_linenumber" name="359" href="#359">359</a> 
<a class="jxr_linenumber" name="360" href="#360">360</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="361" href="#361">361</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="362" href="#362">362</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="363" href="#363">363</a>     @Override
<a class="jxr_linenumber" name="364" href="#364">364</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setInterestedInWrite(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session, <strong class="jxr_keyword">boolean</strong> isInterested) <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="365" href="#365">365</a>         <strong class="jxr_keyword">if</strong> (session.isInterestedInWrite() == isInterested) {
<a class="jxr_linenumber" name="366" href="#366">366</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="367" href="#367">367</a>         }
<a class="jxr_linenumber" name="368" href="#368">368</a> 
<a class="jxr_linenumber" name="369" href="#369">369</a>         <strong class="jxr_keyword">int</strong> rv = Poll.remove(pollset, session.getDescriptor());
<a class="jxr_linenumber" name="370" href="#370">370</a> 
<a class="jxr_linenumber" name="371" href="#371">371</a>         <strong class="jxr_keyword">if</strong> (rv != Status.APR_SUCCESS) {
<a class="jxr_linenumber" name="372" href="#372">372</a>             throwException(rv);
<a class="jxr_linenumber" name="373" href="#373">373</a>         }
<a class="jxr_linenumber" name="374" href="#374">374</a> 
<a class="jxr_linenumber" name="375" href="#375">375</a>         <strong class="jxr_keyword">int</strong> flags = (session.isInterestedInRead() ? Poll.APR_POLLIN : 0) | (isInterested ? Poll.APR_POLLOUT : 0);
<a class="jxr_linenumber" name="376" href="#376">376</a> 
<a class="jxr_linenumber" name="377" href="#377">377</a>         rv = Poll.add(pollset, session.getDescriptor(), flags);
<a class="jxr_linenumber" name="378" href="#378">378</a> 
<a class="jxr_linenumber" name="379" href="#379">379</a>         <strong class="jxr_keyword">if</strong> (rv == Status.APR_SUCCESS) {
<a class="jxr_linenumber" name="380" href="#380">380</a>             session.setInterestedInWrite(isInterested);
<a class="jxr_linenumber" name="381" href="#381">381</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="382" href="#382">382</a>             throwException(rv);
<a class="jxr_linenumber" name="383" href="#383">383</a>         }
<a class="jxr_linenumber" name="384" href="#384">384</a>     }
<a class="jxr_linenumber" name="385" href="#385">385</a> 
<a class="jxr_linenumber" name="386" href="#386">386</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="387" href="#387">387</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="388" href="#388">388</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="389" href="#389">389</a>     @Override
<a class="jxr_linenumber" name="390" href="#390">390</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> read(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> session, <a href="../../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buffer) <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="391" href="#391">391</a>         <strong class="jxr_keyword">int</strong> bytes;
<a class="jxr_linenumber" name="392" href="#392">392</a>         <strong class="jxr_keyword">int</strong> capacity = buffer.remaining();
<a class="jxr_linenumber" name="393" href="#393">393</a>         <em class="jxr_comment">// Using Socket.recv() directly causes memory leak. :-(</em>
<a class="jxr_linenumber" name="394" href="#394">394</a>         ByteBuffer b = Pool.alloc(bufferPool, capacity);
<a class="jxr_linenumber" name="395" href="#395">395</a> 
<a class="jxr_linenumber" name="396" href="#396">396</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="397" href="#397">397</a>             bytes = Socket.recvb(session.getDescriptor(), b, 0, capacity);
<a class="jxr_linenumber" name="398" href="#398">398</a> 
<a class="jxr_linenumber" name="399" href="#399">399</a>             <strong class="jxr_keyword">if</strong> (bytes &gt; 0) {
<a class="jxr_linenumber" name="400" href="#400">400</a>                 b.position(0);
<a class="jxr_linenumber" name="401" href="#401">401</a>                 b.limit(bytes);
<a class="jxr_linenumber" name="402" href="#402">402</a>                 buffer.put(b);
<a class="jxr_linenumber" name="403" href="#403">403</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (bytes &lt; 0) {
<a class="jxr_linenumber" name="404" href="#404">404</a>                 <strong class="jxr_keyword">if</strong> (Status.APR_STATUS_IS_EOF(-bytes)) {
<a class="jxr_linenumber" name="405" href="#405">405</a>                     bytes = -1;
<a class="jxr_linenumber" name="406" href="#406">406</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (Status.APR_STATUS_IS_EAGAIN(-bytes)) {
<a class="jxr_linenumber" name="407" href="#407">407</a>                     bytes = 0;
<a class="jxr_linenumber" name="408" href="#408">408</a>                 } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="409" href="#409">409</a>                     throwException(bytes);
<a class="jxr_linenumber" name="410" href="#410">410</a>                 }
<a class="jxr_linenumber" name="411" href="#411">411</a>             }
<a class="jxr_linenumber" name="412" href="#412">412</a>         } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="413" href="#413">413</a>             Pool.clear(bufferPool);
<a class="jxr_linenumber" name="414" href="#414">414</a>         }
<a class="jxr_linenumber" name="415" href="#415">415</a> 
<a class="jxr_linenumber" name="416" href="#416">416</a>         <strong class="jxr_keyword">return</strong> bytes;
<a class="jxr_linenumber" name="417" href="#417">417</a>     }
<a class="jxr_linenumber" name="418" href="#418">418</a> 
<a class="jxr_linenumber" name="419" href="#419">419</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="420" href="#420">420</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="421" href="#421">421</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="422" href="#422">422</a>     @Override
<a class="jxr_linenumber" name="423" href="#423">423</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> write(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> 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 class="jxr_linenumber" name="424" href="#424">424</a>         <strong class="jxr_keyword">int</strong> writtenBytes;
<a class="jxr_linenumber" name="425" href="#425">425</a>         <strong class="jxr_keyword">if</strong> (buf.isDirect()) {
<a class="jxr_linenumber" name="426" href="#426">426</a>             writtenBytes = Socket.sendb(session.getDescriptor(), buf.buf(), buf.position(), length);
<a class="jxr_linenumber" name="427" href="#427">427</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="428" href="#428">428</a>             writtenBytes = Socket.send(session.getDescriptor(), buf.array(), buf.position(), length);
<a class="jxr_linenumber" name="429" href="#429">429</a>             <strong class="jxr_keyword">if</strong> (writtenBytes &gt; 0) {
<a class="jxr_linenumber" name="430" href="#430">430</a>                 buf.skip(writtenBytes);
<a class="jxr_linenumber" name="431" href="#431">431</a>             }
<a class="jxr_linenumber" name="432" href="#432">432</a>         }
<a class="jxr_linenumber" name="433" href="#433">433</a> 
<a class="jxr_linenumber" name="434" href="#434">434</a>         <strong class="jxr_keyword">if</strong> (writtenBytes &lt; 0) {
<a class="jxr_linenumber" name="435" href="#435">435</a>             <strong class="jxr_keyword">if</strong> (Status.APR_STATUS_IS_EAGAIN(-writtenBytes)) {
<a class="jxr_linenumber" name="436" href="#436">436</a>                 writtenBytes = 0;
<a class="jxr_linenumber" name="437" href="#437">437</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (Status.APR_STATUS_IS_EOF(-writtenBytes)) {
<a class="jxr_linenumber" name="438" href="#438">438</a>                 writtenBytes = 0;
<a class="jxr_linenumber" name="439" href="#439">439</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="440" href="#440">440</a>                 throwException(writtenBytes);
<a class="jxr_linenumber" name="441" href="#441">441</a>             }
<a class="jxr_linenumber" name="442" href="#442">442</a>         }
<a class="jxr_linenumber" name="443" href="#443">443</a>         <strong class="jxr_keyword">return</strong> writtenBytes;
<a class="jxr_linenumber" name="444" href="#444">444</a>     }
<a class="jxr_linenumber" name="445" href="#445">445</a> 
<a class="jxr_linenumber" name="446" href="#446">446</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="447" href="#447">447</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="448" href="#448">448</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="449" href="#449">449</a>     @Override
<a class="jxr_linenumber" name="450" href="#450">450</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> transferFile(<a href="../../../../../../org/apache/mina/transport/socket/apr/AprSession.html">AprSession</a> 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 class="jxr_linenumber" name="451" href="#451">451</a>         <strong class="jxr_keyword">if</strong> (region.getFilename() == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="452" href="#452">452</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException();
<a class="jxr_linenumber" name="453" href="#453">453</a>         }
<a class="jxr_linenumber" name="454" href="#454">454</a> 
<a class="jxr_linenumber" name="455" href="#455">455</a>         <strong class="jxr_keyword">long</strong> fd = File.open(region.getFilename(), File.APR_FOPEN_READ | File.APR_FOPEN_SENDFILE_ENABLED
<a class="jxr_linenumber" name="456" href="#456">456</a>                 | File.APR_FOPEN_BINARY, 0, Socket.pool(session.getDescriptor()));
<a class="jxr_linenumber" name="457" href="#457">457</a>         <strong class="jxr_keyword">long</strong> numWritten = Socket.sendfilen(session.getDescriptor(), fd, region.getPosition(), length, 0);
<a class="jxr_linenumber" name="458" href="#458">458</a>         File.close(fd);
<a class="jxr_linenumber" name="459" href="#459">459</a> 
<a class="jxr_linenumber" name="460" href="#460">460</a>         <strong class="jxr_keyword">if</strong> (numWritten &lt; 0) {
<a class="jxr_linenumber" name="461" href="#461">461</a>             <strong class="jxr_keyword">if</strong> (numWritten == -Status.EAGAIN) {
<a class="jxr_linenumber" name="462" href="#462">462</a>                 <strong class="jxr_keyword">return</strong> 0;
<a class="jxr_linenumber" name="463" href="#463">463</a>             }
<a class="jxr_linenumber" name="464" href="#464">464</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(org.apache.tomcat.jni.Error.strerror((<strong class="jxr_keyword">int</strong>) -numWritten) + <span class="jxr_string">" (code: "</span> + numWritten
<a class="jxr_linenumber" name="465" href="#465">465</a>                     + <span class="jxr_string">")"</span>);
<a class="jxr_linenumber" name="466" href="#466">466</a>         }
<a class="jxr_linenumber" name="467" href="#467">467</a>         <strong class="jxr_keyword">return</strong> (<strong class="jxr_keyword">int</strong>) numWritten;
<a class="jxr_linenumber" name="468" href="#468">468</a>     }
<a class="jxr_linenumber" name="469" href="#469">469</a> 
<a class="jxr_linenumber" name="470" href="#470">470</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> throwException(<strong class="jxr_keyword">int</strong> code) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="471" href="#471">471</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(org.apache.tomcat.jni.Error.strerror(-code) + <span class="jxr_string">" (code: "</span> + code + <span class="jxr_string">")"</span>);
<a class="jxr_linenumber" name="472" href="#472">472</a>     }
<a class="jxr_linenumber" name="473" href="#473">473</a> 
<a class="jxr_linenumber" name="474" href="#474">474</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="475" href="#475">475</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="476" href="#476">476</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="477" href="#477">477</a>     @Override
<a class="jxr_linenumber" name="478" href="#478">478</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> registerNewSelector() {
<a class="jxr_linenumber" name="479" href="#479">479</a>         <em class="jxr_comment">// Do nothing</em>
<a class="jxr_linenumber" name="480" href="#480">480</a>     }
<a class="jxr_linenumber" name="481" href="#481">481</a> 
<a class="jxr_linenumber" name="482" href="#482">482</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="483" href="#483">483</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="484" href="#484">484</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="485" href="#485">485</a>     @Override
<a class="jxr_linenumber" name="486" href="#486">486</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isBrokenConnection() <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="487" href="#487">487</a>         <em class="jxr_comment">// Here, we assume that this is the case.</em>
<a class="jxr_linenumber" name="488" href="#488">488</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="489" href="#489">489</a>     }
<a class="jxr_linenumber" name="490" href="#490">490</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

