<!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=ISO-8859-1" /><title>DatagramAcceptor xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/io/datagram/DatagramAcceptor.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: DatagramAcceptor.java 327113 2005-10-21 06:59:15Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *   Copyright 2004 The Apache Software Foundation</em>
<a name="5" href="#5">5</a>   <em class="comment"> *</em>
<a name="6" href="#6">6</a>   <em class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="7" href="#7">7</a>   <em class="comment"> *   you may not use this file except in compliance with the License.</em>
<a name="8" href="#8">8</a>   <em class="comment"> *   You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</a>  <em class="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="comment"> *</em>
<a name="12" href="#12">12</a>  <em class="comment"> *   Unless required by applicable law or agreed to in writing, software</em>
<a name="13" href="#13">13</a>  <em class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="14" href="#14">14</a>  <em class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *   See the License for the specific language governing permissions and</em>
<a name="16" href="#16">16</a>  <em class="comment"> *   limitations under the License.</em>
<a name="17" href="#17">17</a>  <em class="comment"> *</em>
<a name="18" href="#18">18</a>  <em class="comment"> */</em>
<a name="19" href="#19">19</a>  <strong>package</strong> <a href="../../../../../org/apache/mina/io/datagram/package-summary.html">org.apache.mina.io.datagram</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.io.IOException;
<a name="22" href="#22">22</a>  <strong>import</strong> java.net.InetSocketAddress;
<a name="23" href="#23">23</a>  <strong>import</strong> java.net.SocketAddress;
<a name="24" href="#24">24</a>  <strong>import</strong> java.nio.channels.DatagramChannel;
<a name="25" href="#25">25</a>  <strong>import</strong> java.nio.channels.SelectionKey;
<a name="26" href="#26">26</a>  <strong>import</strong> java.nio.channels.Selector;
<a name="27" href="#27">27</a>  <strong>import</strong> java.util.HashMap;
<a name="28" href="#28">28</a>  <strong>import</strong> java.util.Iterator;
<a name="29" href="#29">29</a>  <strong>import</strong> java.util.Map;
<a name="30" href="#30">30</a>  <strong>import</strong> java.util.Set;
<a name="31" href="#31">31</a>  
<a name="32" href="#32">32</a>  <strong>import</strong> org.apache.mina.common.ByteBuffer;
<a name="33" href="#33">33</a>  <strong>import</strong> org.apache.mina.io.IoAcceptor;
<a name="34" href="#34">34</a>  <strong>import</strong> org.apache.mina.io.IoFilterChain;
<a name="35" href="#35">35</a>  <strong>import</strong> org.apache.mina.io.IoHandler;
<a name="36" href="#36">36</a>  <strong>import</strong> org.apache.mina.io.IoSession;
<a name="37" href="#37">37</a>  <strong>import</strong> org.apache.mina.io.IoSessionManagerFilterChain;
<a name="38" href="#38">38</a>  <strong>import</strong> org.apache.mina.util.ExceptionUtil;
<a name="39" href="#39">39</a>  <strong>import</strong> org.apache.mina.util.Queue;
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>  <em>/**<em>*</em></em>
<a name="42" href="#42">42</a>  <em> * {@link IoAcceptor} for datagram transport (UDP/IP).</em>
<a name="43" href="#43">43</a>  <em> * </em>
<a name="44" href="#44">44</a>  <em> * @author The Apache Directory Project (dev@directory.apache.org)</em>
<a name="45" href="#45">45</a>  <em> * @version $Rev: 327113 $, $Date: 2005-10-21 15:59:15 +0900 $</em>
<a name="46" href="#46">46</a>  <em> */</em>
<a name="47" href="#47">47</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/io/datagram/DatagramAcceptor.html">DatagramAcceptor</a> <strong>extends</strong> <a href="../../../../../org/apache/mina/io/datagram/DatagramSessionManager.html">DatagramSessionManager</a> implements <a href="../../../../../org/apache/mina/io/IoAcceptor.html">IoAcceptor</a>
<a name="48" href="#48">48</a>  {
<a name="49" href="#49">49</a>      <strong>private</strong> <strong>static</strong> <strong>volatile</strong> <strong>int</strong> nextId = 0;
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/mina/io/IoSessionManagerFilterChain.html">IoSessionManagerFilterChain</a> filters =
<a name="52" href="#52">52</a>          <strong>new</strong> <a href="../../../../../org/apache/mina/io/datagram/DatagramSessionManagerFilterChain.html">DatagramSessionManagerFilterChain</a>( <strong>this</strong> );
<a name="53" href="#53">53</a>  
<a name="54" href="#54">54</a>      <strong>private</strong> <strong>final</strong> <strong>int</strong> id = nextId ++ ;
<a name="55" href="#55">55</a>  
<a name="56" href="#56">56</a>      <strong>private</strong> Selector selector;
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>      <strong>private</strong> <strong>final</strong> Map channels = <strong>new</strong> HashMap();
<a name="59" href="#59">59</a>  
<a name="60" href="#60">60</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a> registerQueue = <strong>new</strong> <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a>();
<a name="61" href="#61">61</a>  
<a name="62" href="#62">62</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a> cancelQueue = <strong>new</strong> <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a>();
<a name="63" href="#63">63</a>  
<a name="64" href="#64">64</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a> flushingSessions = <strong>new</strong> <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a>();
<a name="65" href="#65">65</a>  
<a name="66" href="#66">66</a>      <strong>private</strong> Worker worker;
<a name="67" href="#67">67</a>  
<a name="68" href="#68">68</a>      <em>/**<em>*</em></em>
<a name="69" href="#69">69</a>  <em>     * Creates a new instance.</em>
<a name="70" href="#70">70</a>  <em>     */</em>
<a name="71" href="#71">71</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/io/datagram/DatagramAcceptor.html">DatagramAcceptor</a>()
<a name="72" href="#72">72</a>      {
<a name="73" href="#73">73</a>      }
<a name="74" href="#74">74</a>  
<a name="75" href="#75">75</a>      <strong>public</strong> <strong>void</strong> bind( SocketAddress address, IoHandler handler )
<a name="76" href="#76">76</a>              throws IOException
<a name="77" href="#77">77</a>      {
<a name="78" href="#78">78</a>          <strong>if</strong>( address == <strong>null</strong> )
<a name="79" href="#79">79</a>              <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"address"</span> );
<a name="80" href="#80">80</a>          <strong>if</strong>( handler == <strong>null</strong> )
<a name="81" href="#81">81</a>              <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"handler"</span> );
<a name="82" href="#82">82</a>  
<a name="83" href="#83">83</a>          <strong>if</strong>( !( address instanceof InetSocketAddress ) )
<a name="84" href="#84">84</a>              <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"Unexpected address type: "</span>
<a name="85" href="#85">85</a>                                                  + address.getClass() );
<a name="86" href="#86">86</a>          <strong>if</strong>( ( ( InetSocketAddress ) address ).getPort() == 0 )
<a name="87" href="#87">87</a>              <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"Unsupported port number: 0"</span> );
<a name="88" href="#88">88</a>          
<a name="89" href="#89">89</a>          RegistrationRequest request = <strong>new</strong> RegistrationRequest( address, handler );
<a name="90" href="#90">90</a>          <strong>synchronized</strong>( <strong>this</strong> )
<a name="91" href="#91">91</a>          {
<a name="92" href="#92">92</a>              <strong>synchronized</strong>( registerQueue )
<a name="93" href="#93">93</a>              {
<a name="94" href="#94">94</a>                  registerQueue.push( request );
<a name="95" href="#95">95</a>              }
<a name="96" href="#96">96</a>              startupWorker();
<a name="97" href="#97">97</a>          }
<a name="98" href="#98">98</a>          selector.wakeup();
<a name="99" href="#99">99</a>          
<a name="100" href="#100">100</a>         <strong>synchronized</strong>( request )
<a name="101" href="#101">101</a>         {
<a name="102" href="#102">102</a>             <strong>while</strong>( !request.done )
<a name="103" href="#103">103</a>             {
<a name="104" href="#104">104</a>                 <strong>try</strong>
<a name="105" href="#105">105</a>                 {
<a name="106" href="#106">106</a>                     request.wait();
<a name="107" href="#107">107</a>                 }
<a name="108" href="#108">108</a>                 <strong>catch</strong>( InterruptedException e )
<a name="109" href="#109">109</a>                 {
<a name="110" href="#110">110</a>                 }
<a name="111" href="#111">111</a>             }
<a name="112" href="#112">112</a>         }
<a name="113" href="#113">113</a>         
<a name="114" href="#114">114</a>         <strong>if</strong>( request.exception != <strong>null</strong> )
<a name="115" href="#115">115</a>         {
<a name="116" href="#116">116</a>             ExceptionUtil.throwException( request.exception );
<a name="117" href="#117">117</a>         }
<a name="118" href="#118">118</a>     }
<a name="119" href="#119">119</a> 
<a name="120" href="#120">120</a>     <strong>public</strong> <strong>void</strong> unbind( SocketAddress address )
<a name="121" href="#121">121</a>     {
<a name="122" href="#122">122</a>         <strong>if</strong>( address == <strong>null</strong> )
<a name="123" href="#123">123</a>             <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"address"</span> );
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a>         CancellationRequest request = <strong>new</strong> CancellationRequest( address );
<a name="126" href="#126">126</a>         <strong>synchronized</strong>( <strong>this</strong> )
<a name="127" href="#127">127</a>         {
<a name="128" href="#128">128</a>             <strong>try</strong>
<a name="129" href="#129">129</a>             {
<a name="130" href="#130">130</a>                 startupWorker();
<a name="131" href="#131">131</a>             }
<a name="132" href="#132">132</a>             <strong>catch</strong>( IOException e )
<a name="133" href="#133">133</a>             {
<a name="134" href="#134">134</a>                 <em class="comment">// IOException is thrown only when Worker thread is not</em>
<a name="135" href="#135">135</a>                 <em class="comment">// running and failed to open a selector.  We simply throw</em>
<a name="136" href="#136">136</a>                 <em class="comment">// IllegalArgumentException here because we can simply</em>
<a name="137" href="#137">137</a>                 <em class="comment">// conclude that nothing is bound to the selector.</em>
<a name="138" href="#138">138</a>                 <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"Address not bound: "</span> + address );
<a name="139" href="#139">139</a>             }
<a name="140" href="#140">140</a> 
<a name="141" href="#141">141</a>             <strong>synchronized</strong>( cancelQueue )
<a name="142" href="#142">142</a>             {
<a name="143" href="#143">143</a>                 cancelQueue.push( request );
<a name="144" href="#144">144</a>             }
<a name="145" href="#145">145</a>         }
<a name="146" href="#146">146</a>         selector.wakeup();
<a name="147" href="#147">147</a>         
<a name="148" href="#148">148</a>         <strong>synchronized</strong>( request )
<a name="149" href="#149">149</a>         {
<a name="150" href="#150">150</a>             <strong>while</strong>( !request.done )
<a name="151" href="#151">151</a>             {
<a name="152" href="#152">152</a>                 <strong>try</strong>
<a name="153" href="#153">153</a>                 {
<a name="154" href="#154">154</a>                     request.wait();
<a name="155" href="#155">155</a>                 }
<a name="156" href="#156">156</a>                 <strong>catch</strong>( InterruptedException e )
<a name="157" href="#157">157</a>                 {
<a name="158" href="#158">158</a>                 }
<a name="159" href="#159">159</a>             }
<a name="160" href="#160">160</a>         }
<a name="161" href="#161">161</a>         
<a name="162" href="#162">162</a>         <strong>if</strong>( request.exception != <strong>null</strong> )
<a name="163" href="#163">163</a>         {
<a name="164" href="#164">164</a>             request.exception.fillInStackTrace();
<a name="165" href="#165">165</a>             <strong>throw</strong> request.exception;
<a name="166" href="#166">166</a>         }
<a name="167" href="#167">167</a>     }
<a name="168" href="#168">168</a>     
<a name="169" href="#169">169</a>     <strong>public</strong> <a href="../../../../../org/apache/mina/io/IoSession.html">IoSession</a> newSession( SocketAddress remoteAddress, SocketAddress localAddress )
<a name="170" href="#170">170</a>     {
<a name="171" href="#171">171</a>         <strong>if</strong>( remoteAddress == <strong>null</strong> )
<a name="172" href="#172">172</a>         {
<a name="173" href="#173">173</a>             <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"remoteAddress"</span> );
<a name="174" href="#174">174</a>         }
<a name="175" href="#175">175</a>         <strong>if</strong>( localAddress == <strong>null</strong> )
<a name="176" href="#176">176</a>         {
<a name="177" href="#177">177</a>             <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"localAddress"</span> );
<a name="178" href="#178">178</a>         }
<a name="179" href="#179">179</a>         
<a name="180" href="#180">180</a>         Selector selector = <strong>this</strong>.selector;
<a name="181" href="#181">181</a>         DatagramChannel ch = ( DatagramChannel ) channels.get( localAddress );
<a name="182" href="#182">182</a>         <strong>if</strong>( selector == <strong>null</strong> || ch == <strong>null</strong> )
<a name="183" href="#183">183</a>         {
<a name="184" href="#184">184</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"Unknown localAddress: "</span> + localAddress );
<a name="185" href="#185">185</a>         }
<a name="186" href="#186">186</a>             
<a name="187" href="#187">187</a>         SelectionKey key = ch.keyFor( selector );
<a name="188" href="#188">188</a>         <strong>if</strong>( key == <strong>null</strong> )
<a name="189" href="#189">189</a>         {
<a name="190" href="#190">190</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"Unknown lodalAddress: "</span> + localAddress );
<a name="191" href="#191">191</a>         }
<a name="192" href="#192">192</a> 
<a name="193" href="#193">193</a>         RegistrationRequest req = ( RegistrationRequest ) key.attachment();
<a name="194" href="#194">194</a>         <a href="../../../../../org/apache/mina/io/datagram/DatagramSession.html">DatagramSession</a> s = <strong>new</strong> <a href="../../../../../org/apache/mina/io/datagram/DatagramSession.html">DatagramSession</a>( filters, ch, req.handler );
<a name="195" href="#195">195</a>         s.setRemoteAddress( remoteAddress );
<a name="196" href="#196">196</a>         s.setSelectionKey( key );
<a name="197" href="#197">197</a>         
<a name="198" href="#198">198</a>         <strong>try</strong>
<a name="199" href="#199">199</a>         {
<a name="200" href="#200">200</a>             req.handler.sessionCreated( s );
<a name="201" href="#201">201</a>         }
<a name="202" href="#202">202</a>         <strong>catch</strong>( Throwable t )
<a name="203" href="#203">203</a>         {
<a name="204" href="#204">204</a>             exceptionMonitor.exceptionCaught( <strong>this</strong>, t );
<a name="205" href="#205">205</a>         }
<a name="206" href="#206">206</a>         
<a name="207" href="#207">207</a>         <strong>return</strong> s;
<a name="208" href="#208">208</a>     }
<a name="209" href="#209">209</a> 
<a name="210" href="#210">210</a>     <strong>private</strong> <strong>synchronized</strong> <strong>void</strong> startupWorker() throws IOException
<a name="211" href="#211">211</a>     {
<a name="212" href="#212">212</a>         <strong>if</strong>( worker == <strong>null</strong> )
<a name="213" href="#213">213</a>         {
<a name="214" href="#214">214</a>             selector = Selector.open();
<a name="215" href="#215">215</a>             worker = <strong>new</strong> Worker();
<a name="216" href="#216">216</a>             worker.start();
<a name="217" href="#217">217</a>         }
<a name="218" href="#218">218</a>     }
<a name="219" href="#219">219</a> 
<a name="220" href="#220">220</a>     <strong>void</strong> flushSession( DatagramSession session )
<a name="221" href="#221">221</a>     {
<a name="222" href="#222">222</a>         scheduleFlush( session );
<a name="223" href="#223">223</a>         selector.wakeup();
<a name="224" href="#224">224</a>     }
<a name="225" href="#225">225</a> 
<a name="226" href="#226">226</a>     <strong>void</strong> closeSession( DatagramSession session )
<a name="227" href="#227">227</a>     {
<a name="228" href="#228">228</a>     }
<a name="229" href="#229">229</a> 
<a name="230" href="#230">230</a>     <strong>private</strong> <strong>void</strong> scheduleFlush( DatagramSession session )
<a name="231" href="#231">231</a>     {
<a name="232" href="#232">232</a>         <strong>synchronized</strong>( flushingSessions )
<a name="233" href="#233">233</a>         {
<a name="234" href="#234">234</a>             flushingSessions.push( session );
<a name="235" href="#235">235</a>         }
<a name="236" href="#236">236</a>     }
<a name="237" href="#237">237</a> 
<a name="238" href="#238">238</a>     <strong>private</strong> <strong>class</strong> Worker <strong>extends</strong> Thread
<a name="239" href="#239">239</a>     {
<a name="240" href="#240">240</a>         <strong>public</strong> Worker()
<a name="241" href="#241">241</a>         {
<a name="242" href="#242">242</a>             <strong>super</strong>( <span class="string">"DatagramAcceptor-"</span> + id );
<a name="243" href="#243">243</a>         }
<a name="244" href="#244">244</a> 
<a name="245" href="#245">245</a>         <strong>public</strong> <strong>void</strong> run()
<a name="246" href="#246">246</a>         {
<a name="247" href="#247">247</a>             <strong>for</strong>( ;; )
<a name="248" href="#248">248</a>             {
<a name="249" href="#249">249</a>                 <strong>try</strong>
<a name="250" href="#250">250</a>                 {
<a name="251" href="#251">251</a>                     <strong>int</strong> nKeys = selector.select();
<a name="252" href="#252">252</a> 
<a name="253" href="#253">253</a>                     registerNew();
<a name="254" href="#254">254</a> 
<a name="255" href="#255">255</a>                     <strong>if</strong>( nKeys > 0 )
<a name="256" href="#256">256</a>                     {
<a name="257" href="#257">257</a>                         processReadySessions( selector.selectedKeys() );
<a name="258" href="#258">258</a>                     }
<a name="259" href="#259">259</a> 
<a name="260" href="#260">260</a>                     flushSessions();
<a name="261" href="#261">261</a>                     cancelKeys();
<a name="262" href="#262">262</a> 
<a name="263" href="#263">263</a>                     <strong>if</strong>( selector.keys().isEmpty() )
<a name="264" href="#264">264</a>                     {
<a name="265" href="#265">265</a>                         <strong>synchronized</strong>( DatagramAcceptor.<strong>this</strong> )
<a name="266" href="#266">266</a>                         {
<a name="267" href="#267">267</a>                             <strong>if</strong>( selector.keys().isEmpty() &amp;&amp;
<a name="268" href="#268">268</a>                                 registerQueue.isEmpty() &amp;&amp;
<a name="269" href="#269">269</a>                                 cancelQueue.isEmpty() )
<a name="270" href="#270">270</a>                             {
<a name="271" href="#271">271</a>                                 worker = <strong>null</strong>;
<a name="272" href="#272">272</a>                                 <strong>try</strong>
<a name="273" href="#273">273</a>                                 {
<a name="274" href="#274">274</a>                                     selector.close();
<a name="275" href="#275">275</a>                                 }
<a name="276" href="#276">276</a>                                 <strong>catch</strong>( IOException e )
<a name="277" href="#277">277</a>                                 {
<a name="278" href="#278">278</a>                                     exceptionMonitor.exceptionCaught( DatagramAcceptor.<strong>this</strong>, e );
<a name="279" href="#279">279</a>                                 }
<a name="280" href="#280">280</a>                                 <strong>finally</strong>
<a name="281" href="#281">281</a>                                 {
<a name="282" href="#282">282</a>                                     selector = <strong>null</strong>;
<a name="283" href="#283">283</a>                                 }
<a name="284" href="#284">284</a>                                 <strong>break</strong>;
<a name="285" href="#285">285</a>                             }
<a name="286" href="#286">286</a>                         }
<a name="287" href="#287">287</a>                     }
<a name="288" href="#288">288</a>                 }
<a name="289" href="#289">289</a>                 <strong>catch</strong>( IOException e )
<a name="290" href="#290">290</a>                 {
<a name="291" href="#291">291</a>                     exceptionMonitor.exceptionCaught( DatagramAcceptor.<strong>this</strong>,
<a name="292" href="#292">292</a>                             e );
<a name="293" href="#293">293</a> 
<a name="294" href="#294">294</a>                     <strong>try</strong>
<a name="295" href="#295">295</a>                     {
<a name="296" href="#296">296</a>                         Thread.sleep( 1000 );
<a name="297" href="#297">297</a>                     }
<a name="298" href="#298">298</a>                     <strong>catch</strong>( InterruptedException e1 )
<a name="299" href="#299">299</a>                     {
<a name="300" href="#300">300</a>                     }
<a name="301" href="#301">301</a>                 }
<a name="302" href="#302">302</a>             }
<a name="303" href="#303">303</a>         }
<a name="304" href="#304">304</a>     }
<a name="305" href="#305">305</a> 
<a name="306" href="#306">306</a>     <strong>private</strong> <strong>void</strong> processReadySessions( Set keys )
<a name="307" href="#307">307</a>     {
<a name="308" href="#308">308</a>         Iterator it = keys.iterator();
<a name="309" href="#309">309</a>         <strong>while</strong>( it.hasNext() )
<a name="310" href="#310">310</a>         {
<a name="311" href="#311">311</a>             SelectionKey key = ( SelectionKey ) it.next();
<a name="312" href="#312">312</a>             it.remove();
<a name="313" href="#313">313</a> 
<a name="314" href="#314">314</a>             DatagramChannel ch = ( DatagramChannel ) key.channel();
<a name="315" href="#315">315</a> 
<a name="316" href="#316">316</a>             RegistrationRequest req = ( RegistrationRequest ) key.attachment();
<a name="317" href="#317">317</a>             <a href="../../../../../org/apache/mina/io/datagram/DatagramSession.html">DatagramSession</a> session = <strong>new</strong> <a href="../../../../../org/apache/mina/io/datagram/DatagramSession.html">DatagramSession</a>(
<a name="318" href="#318">318</a>                     filters, ch, req.handler );
<a name="319" href="#319">319</a>             session.setSelectionKey( key );
<a name="320" href="#320">320</a>             
<a name="321" href="#321">321</a>             <strong>try</strong>
<a name="322" href="#322">322</a>             {
<a name="323" href="#323">323</a>                 req.handler.sessionCreated( session );
<a name="324" href="#324">324</a> 
<a name="325" href="#325">325</a>                 <strong>if</strong>( key.isReadable() )
<a name="326" href="#326">326</a>                 {
<a name="327" href="#327">327</a>                     readSession( session );
<a name="328" href="#328">328</a>                 }
<a name="329" href="#329">329</a> 
<a name="330" href="#330">330</a>                 <strong>if</strong>( key.isWritable() )
<a name="331" href="#331">331</a>                 {
<a name="332" href="#332">332</a>                     scheduleFlush( session );
<a name="333" href="#333">333</a>                 }
<a name="334" href="#334">334</a>             }
<a name="335" href="#335">335</a>             <strong>catch</strong>( Throwable t )
<a name="336" href="#336">336</a>             {
<a name="337" href="#337">337</a>                 exceptionMonitor.exceptionCaught( <strong>this</strong>, t );
<a name="338" href="#338">338</a>             }
<a name="339" href="#339">339</a>         }
<a name="340" href="#340">340</a>     }
<a name="341" href="#341">341</a> 
<a name="342" href="#342">342</a>     <strong>private</strong> <strong>void</strong> readSession( DatagramSession session )
<a name="343" href="#343">343</a>     {
<a name="344" href="#344">344</a> 
<a name="345" href="#345">345</a>         <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> readBuf = ByteBuffer.allocate( 2048 );
<a name="346" href="#346">346</a>         <strong>try</strong>
<a name="347" href="#347">347</a>         {
<a name="348" href="#348">348</a>             SocketAddress remoteAddress = session.getChannel().receive(
<a name="349" href="#349">349</a>                     readBuf.buf() );
<a name="350" href="#350">350</a>             <strong>if</strong>( remoteAddress != <strong>null</strong> )
<a name="351" href="#351">351</a>             {
<a name="352" href="#352">352</a>                 readBuf.flip();
<a name="353" href="#353">353</a>                 session.setRemoteAddress( remoteAddress );
<a name="354" href="#354">354</a> 
<a name="355" href="#355">355</a>                 <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> newBuf = ByteBuffer.allocate( readBuf.limit() );
<a name="356" href="#356">356</a>                 newBuf.put( readBuf );
<a name="357" href="#357">357</a>                 newBuf.flip();
<a name="358" href="#358">358</a> 
<a name="359" href="#359">359</a>                 session.increaseReadBytes( newBuf.remaining() );
<a name="360" href="#360">360</a>                 filters.dataRead( session, newBuf );
<a name="361" href="#361">361</a>             }
<a name="362" href="#362">362</a>         }
<a name="363" href="#363">363</a>         <strong>catch</strong>( IOException e )
<a name="364" href="#364">364</a>         {
<a name="365" href="#365">365</a>             filters.exceptionCaught( session, e );
<a name="366" href="#366">366</a>         }
<a name="367" href="#367">367</a>         <strong>finally</strong>
<a name="368" href="#368">368</a>         {
<a name="369" href="#369">369</a>             readBuf.release();
<a name="370" href="#370">370</a>         }
<a name="371" href="#371">371</a>     }
<a name="372" href="#372">372</a> 
<a name="373" href="#373">373</a>     <strong>private</strong> <strong>void</strong> flushSessions()
<a name="374" href="#374">374</a>     {
<a name="375" href="#375">375</a>         <strong>if</strong>( flushingSessions.size() == 0 )
<a name="376" href="#376">376</a>             <strong>return</strong>;
<a name="377" href="#377">377</a> 
<a name="378" href="#378">378</a>         <strong>for</strong>( ;; )
<a name="379" href="#379">379</a>         {
<a name="380" href="#380">380</a>             <a href="../../../../../org/apache/mina/io/datagram/DatagramSession.html">DatagramSession</a> session;
<a name="381" href="#381">381</a> 
<a name="382" href="#382">382</a>             <strong>synchronized</strong>( flushingSessions )
<a name="383" href="#383">383</a>             {
<a name="384" href="#384">384</a>                 session = ( DatagramSession ) flushingSessions.pop();
<a name="385" href="#385">385</a>             }
<a name="386" href="#386">386</a> 
<a name="387" href="#387">387</a>             <strong>if</strong>( session == <strong>null</strong> )
<a name="388" href="#388">388</a>                 <strong>break</strong>;
<a name="389" href="#389">389</a> 
<a name="390" href="#390">390</a>             <strong>try</strong>
<a name="391" href="#391">391</a>             {
<a name="392" href="#392">392</a>                 flush( session );
<a name="393" href="#393">393</a>             }
<a name="394" href="#394">394</a>             <strong>catch</strong>( IOException e )
<a name="395" href="#395">395</a>             {
<a name="396" href="#396">396</a>                 session.getManagerFilterChain().exceptionCaught( session, e );
<a name="397" href="#397">397</a>             }
<a name="398" href="#398">398</a>         }
<a name="399" href="#399">399</a>     }
<a name="400" href="#400">400</a> 
<a name="401" href="#401">401</a>     <strong>private</strong> <strong>void</strong> flush( DatagramSession session ) throws IOException
<a name="402" href="#402">402</a>     {
<a name="403" href="#403">403</a>         DatagramChannel ch = session.getChannel();
<a name="404" href="#404">404</a> 
<a name="405" href="#405">405</a>         <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a> writeBufferQueue = session.getWriteBufferQueue();
<a name="406" href="#406">406</a>         <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a> writeMarkerQueue = session.getWriteMarkerQueue();
<a name="407" href="#407">407</a> 
<a name="408" href="#408">408</a>         <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> buf;
<a name="409" href="#409">409</a>         Object marker;
<a name="410" href="#410">410</a>         <strong>for</strong>( ;; )
<a name="411" href="#411">411</a>         {
<a name="412" href="#412">412</a>             <strong>synchronized</strong>( writeBufferQueue )
<a name="413" href="#413">413</a>             {
<a name="414" href="#414">414</a>                 buf = ( ByteBuffer ) writeBufferQueue.first();
<a name="415" href="#415">415</a>                 marker = writeMarkerQueue.first();
<a name="416" href="#416">416</a>             }
<a name="417" href="#417">417</a> 
<a name="418" href="#418">418</a>             <strong>if</strong>( buf == <strong>null</strong> )
<a name="419" href="#419">419</a>                 <strong>break</strong>;
<a name="420" href="#420">420</a> 
<a name="421" href="#421">421</a>             <strong>if</strong>( buf.remaining() == 0 )
<a name="422" href="#422">422</a>             {
<a name="423" href="#423">423</a>                 <em class="comment">// pop and fire event</em>
<a name="424" href="#424">424</a>                 <strong>synchronized</strong>( writeBufferQueue )
<a name="425" href="#425">425</a>                 {
<a name="426" href="#426">426</a>                     writeBufferQueue.pop();
<a name="427" href="#427">427</a>                     writeMarkerQueue.pop();
<a name="428" href="#428">428</a>                 }
<a name="429" href="#429">429</a> 
<a name="430" href="#430">430</a>                 <strong>try</strong>
<a name="431" href="#431">431</a>                 {
<a name="432" href="#432">432</a>                     buf.release();
<a name="433" href="#433">433</a>                 }
<a name="434" href="#434">434</a>                 <strong>catch</strong>( IllegalStateException e )
<a name="435" href="#435">435</a>                 {
<a name="436" href="#436">436</a>                     session.getManagerFilterChain().exceptionCaught( session, e );
<a name="437" href="#437">437</a>                 }
<a name="438" href="#438">438</a> 
<a name="439" href="#439">439</a>                 session.increaseWrittenWriteRequests();
<a name="440" href="#440">440</a>                 session.getManagerFilterChain().dataWritten( session, marker );
<a name="441" href="#441">441</a>                 <strong>continue</strong>;
<a name="442" href="#442">442</a>             }
<a name="443" href="#443">443</a> 
<a name="444" href="#444">444</a>             <strong>int</strong> writtenBytes = ch
<a name="445" href="#445">445</a>                     .send( buf.buf(), session.getRemoteAddress() );
<a name="446" href="#446">446</a> 
<a name="447" href="#447">447</a>             SelectionKey key = session.getSelectionKey();
<a name="448" href="#448">448</a>             <strong>if</strong>( writtenBytes == 0 )
<a name="449" href="#449">449</a>             {
<a name="450" href="#450">450</a>                 <em class="comment">// Kernel buffer is full</em>
<a name="451" href="#451">451</a>                 key.interestOps( key.interestOps() | SelectionKey.OP_WRITE );
<a name="452" href="#452">452</a>             }
<a name="453" href="#453">453</a>             <strong>else</strong> <strong>if</strong>( writtenBytes > 0 )
<a name="454" href="#454">454</a>             {
<a name="455" href="#455">455</a>                 key.interestOps( key.interestOps()
<a name="456" href="#456">456</a>                                  &amp; ( ~SelectionKey.OP_WRITE ) );
<a name="457" href="#457">457</a> 
<a name="458" href="#458">458</a>                 <em class="comment">// pop and fire event</em>
<a name="459" href="#459">459</a>                 <strong>synchronized</strong>( writeBufferQueue )
<a name="460" href="#460">460</a>                 {
<a name="461" href="#461">461</a>                     writeBufferQueue.pop();
<a name="462" href="#462">462</a>                     writeMarkerQueue.pop();
<a name="463" href="#463">463</a>                 }
<a name="464" href="#464">464</a> 
<a name="465" href="#465">465</a>                 session.increaseWrittenBytes( writtenBytes );
<a name="466" href="#466">466</a>                 session.increaseWrittenWriteRequests();
<a name="467" href="#467">467</a>                 session.getManagerFilterChain().dataWritten( session, marker );
<a name="468" href="#468">468</a>             }
<a name="469" href="#469">469</a>         }
<a name="470" href="#470">470</a>     }
<a name="471" href="#471">471</a> 
<a name="472" href="#472">472</a>     <strong>private</strong> <strong>void</strong> registerNew()
<a name="473" href="#473">473</a>     {
<a name="474" href="#474">474</a>         <strong>if</strong>( registerQueue.isEmpty() )
<a name="475" href="#475">475</a>             <strong>return</strong>;
<a name="476" href="#476">476</a> 
<a name="477" href="#477">477</a>         <strong>for</strong>( ;; )
<a name="478" href="#478">478</a>         {
<a name="479" href="#479">479</a>             RegistrationRequest req;
<a name="480" href="#480">480</a>             <strong>synchronized</strong>( registerQueue )
<a name="481" href="#481">481</a>             {
<a name="482" href="#482">482</a>                 req = ( RegistrationRequest ) registerQueue.pop();
<a name="483" href="#483">483</a>             }
<a name="484" href="#484">484</a> 
<a name="485" href="#485">485</a>             <strong>if</strong>( req == <strong>null</strong> )
<a name="486" href="#486">486</a>                 <strong>break</strong>;
<a name="487" href="#487">487</a> 
<a name="488" href="#488">488</a>             DatagramChannel ch = <strong>null</strong>;
<a name="489" href="#489">489</a>             <strong>try</strong>
<a name="490" href="#490">490</a>             {
<a name="491" href="#491">491</a>                 ch = DatagramChannel.open();
<a name="492" href="#492">492</a>                 ch.configureBlocking( false );
<a name="493" href="#493">493</a>                 ch.socket().bind( req.address );
<a name="494" href="#494">494</a>                 ch.register( selector, SelectionKey.OP_READ, req );
<a name="495" href="#495">495</a>                 channels.put( req.address, ch );
<a name="496" href="#496">496</a>             }
<a name="497" href="#497">497</a>             <strong>catch</strong>( Throwable t )
<a name="498" href="#498">498</a>             {
<a name="499" href="#499">499</a>                 req.exception = t;
<a name="500" href="#500">500</a>             }
<a name="501" href="#501">501</a>             <strong>finally</strong>
<a name="502" href="#502">502</a>             {
<a name="503" href="#503">503</a>                 <strong>synchronized</strong>( req )
<a name="504" href="#504">504</a>                 {
<a name="505" href="#505">505</a>                     req.done = <strong>true</strong>;
<a name="506" href="#506">506</a>                     req.notify();
<a name="507" href="#507">507</a>                 }
<a name="508" href="#508">508</a> 
<a name="509" href="#509">509</a>                 <strong>if</strong>( ch != <strong>null</strong> &amp;&amp; req.exception != <strong>null</strong> )
<a name="510" href="#510">510</a>                 {
<a name="511" href="#511">511</a>                     <strong>try</strong>
<a name="512" href="#512">512</a>                     {
<a name="513" href="#513">513</a>                         ch.close();
<a name="514" href="#514">514</a>                     }
<a name="515" href="#515">515</a>                     <strong>catch</strong>( Throwable e )
<a name="516" href="#516">516</a>                     {
<a name="517" href="#517">517</a>                         exceptionMonitor.exceptionCaught( <strong>this</strong>, e );
<a name="518" href="#518">518</a>                     }
<a name="519" href="#519">519</a>                 }
<a name="520" href="#520">520</a>             }
<a name="521" href="#521">521</a>         }
<a name="522" href="#522">522</a>     }
<a name="523" href="#523">523</a> 
<a name="524" href="#524">524</a>     <strong>private</strong> <strong>void</strong> cancelKeys()
<a name="525" href="#525">525</a>     {
<a name="526" href="#526">526</a>         <strong>if</strong>( cancelQueue.isEmpty() )
<a name="527" href="#527">527</a>             <strong>return</strong>;
<a name="528" href="#528">528</a> 
<a name="529" href="#529">529</a>         <strong>for</strong>( ;; )
<a name="530" href="#530">530</a>         {
<a name="531" href="#531">531</a>             CancellationRequest request;
<a name="532" href="#532">532</a>             <strong>synchronized</strong>( cancelQueue )
<a name="533" href="#533">533</a>             {
<a name="534" href="#534">534</a>                 request = ( CancellationRequest ) cancelQueue.pop();
<a name="535" href="#535">535</a>             }
<a name="536" href="#536">536</a>             
<a name="537" href="#537">537</a>             <strong>if</strong>( request == <strong>null</strong> )
<a name="538" href="#538">538</a>             {
<a name="539" href="#539">539</a>                 <strong>break</strong>;
<a name="540" href="#540">540</a>             }
<a name="541" href="#541">541</a> 
<a name="542" href="#542">542</a>             DatagramChannel ch = ( DatagramChannel ) channels.remove( request.address );
<a name="543" href="#543">543</a>             <em class="comment">// close the channel</em>
<a name="544" href="#544">544</a>             <strong>try</strong>
<a name="545" href="#545">545</a>             {
<a name="546" href="#546">546</a>                 <strong>if</strong>( ch == <strong>null</strong> )
<a name="547" href="#547">547</a>                 {
<a name="548" href="#548">548</a>                     request.exception = <strong>new</strong> IllegalArgumentException(
<a name="549" href="#549">549</a>                             <span class="string">"Address not bound: "</span> + request.address );
<a name="550" href="#550">550</a>                 }
<a name="551" href="#551">551</a>                 <strong>else</strong>
<a name="552" href="#552">552</a>                 {
<a name="553" href="#553">553</a>                     SelectionKey key = ch.keyFor( selector );
<a name="554" href="#554">554</a>                     key.cancel();
<a name="555" href="#555">555</a>                     selector.wakeup(); <em class="comment">// wake up again to trigger thread death</em>
<a name="556" href="#556">556</a>                     ch.close();
<a name="557" href="#557">557</a>                 }
<a name="558" href="#558">558</a>             }
<a name="559" href="#559">559</a>             <strong>catch</strong>( Throwable t )
<a name="560" href="#560">560</a>             {
<a name="561" href="#561">561</a>                 exceptionMonitor.exceptionCaught( <strong>this</strong>, t );
<a name="562" href="#562">562</a>             }
<a name="563" href="#563">563</a>             <strong>finally</strong>
<a name="564" href="#564">564</a>             {
<a name="565" href="#565">565</a>                 <strong>synchronized</strong>( request )
<a name="566" href="#566">566</a>                 {
<a name="567" href="#567">567</a>                     request.done = <strong>true</strong>;
<a name="568" href="#568">568</a>                     request.notify();
<a name="569" href="#569">569</a>                 }
<a name="570" href="#570">570</a>             }
<a name="571" href="#571">571</a>         }
<a name="572" href="#572">572</a>     }
<a name="573" href="#573">573</a>     
<a name="574" href="#574">574</a>     <strong>public</strong> <a href="../../../../../org/apache/mina/io/IoFilterChain.html">IoFilterChain</a> getFilterChain()
<a name="575" href="#575">575</a>     {
<a name="576" href="#576">576</a>         <strong>return</strong> filters;
<a name="577" href="#577">577</a>     }
<a name="578" href="#578">578</a> 
<a name="579" href="#579">579</a>     <strong>private</strong> <strong>static</strong> <strong>class</strong> RegistrationRequest
<a name="580" href="#580">580</a>     {
<a name="581" href="#581">581</a>         <strong>private</strong> <strong>final</strong> SocketAddress address;
<a name="582" href="#582">582</a>         
<a name="583" href="#583">583</a>         <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/mina/io/IoHandler.html">IoHandler</a> handler;
<a name="584" href="#584">584</a>         
<a name="585" href="#585">585</a>         <strong>private</strong> Throwable exception; 
<a name="586" href="#586">586</a>         
<a name="587" href="#587">587</a>         <strong>private</strong> <strong>boolean</strong> done;
<a name="588" href="#588">588</a>         
<a name="589" href="#589">589</a>         <strong>private</strong> RegistrationRequest( SocketAddress address, IoHandler handler )
<a name="590" href="#590">590</a>         {
<a name="591" href="#591">591</a>             <strong>this</strong>.address = address;
<a name="592" href="#592">592</a>             <strong>this</strong>.handler = handler;
<a name="593" href="#593">593</a>         }
<a name="594" href="#594">594</a>     }
<a name="595" href="#595">595</a> 
<a name="596" href="#596">596</a>     <strong>private</strong> <strong>static</strong> <strong>class</strong> CancellationRequest
<a name="597" href="#597">597</a>     {
<a name="598" href="#598">598</a>         <strong>private</strong> <strong>final</strong> SocketAddress address;
<a name="599" href="#599">599</a>         <strong>private</strong> <strong>boolean</strong> done;
<a name="600" href="#600">600</a>         <strong>private</strong> RuntimeException exception;
<a name="601" href="#601">601</a>         
<a name="602" href="#602">602</a>         <strong>private</strong> CancellationRequest( SocketAddress address )
<a name="603" href="#603">603</a>         {
<a name="604" href="#604">604</a>             <strong>this</strong>.address = address;
<a name="605" href="#605">605</a>         }
<a name="606" href="#606">606</a>     }
<a name="607" href="#607">607</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

