<!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>DatagramConnector xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/io/datagram/DatagramConnector.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: DatagramConnector.java 165586 2005-05-02 06:27:27Z 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.Iterator;
<a name="28" href="#28">28</a>  <strong>import</strong> java.util.Set;
<a name="29" href="#29">29</a>  
<a name="30" href="#30">30</a>  <strong>import</strong> org.apache.mina.common.ByteBuffer;
<a name="31" href="#31">31</a>  <strong>import</strong> org.apache.mina.io.IoConnector;
<a name="32" href="#32">32</a>  <strong>import</strong> org.apache.mina.io.IoFilterChain;
<a name="33" href="#33">33</a>  <strong>import</strong> org.apache.mina.io.IoHandler;
<a name="34" href="#34">34</a>  <strong>import</strong> org.apache.mina.io.IoSession;
<a name="35" href="#35">35</a>  <strong>import</strong> org.apache.mina.io.IoSessionManagerFilterChain;
<a name="36" href="#36">36</a>  <strong>import</strong> org.apache.mina.util.ExceptionUtil;
<a name="37" href="#37">37</a>  <strong>import</strong> org.apache.mina.util.Queue;
<a name="38" href="#38">38</a>  
<a name="39" href="#39">39</a>  <em>/**<em>*</em></em>
<a name="40" href="#40">40</a>  <em> * {@link IoConnector} for datagram transport (UDP/IP).</em>
<a name="41" href="#41">41</a>  <em> * </em>
<a name="42" href="#42">42</a>  <em> * @author Trustin Lee (trustin@apache.org)</em>
<a name="43" href="#43">43</a>  <em> * @version $Rev: 165586 $, $Date: 2005-05-02 15:27:27 +0900 (?, 02  5? 2005) $</em>
<a name="44" href="#44">44</a>  <em> */</em>
<a name="45" href="#45">45</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/io/datagram/DatagramConnector.html">DatagramConnector</a> <strong>extends</strong> <a href="../../../../../org/apache/mina/io/datagram/DatagramSessionManager.html">DatagramSessionManager</a> implements <a href="../../../../../org/apache/mina/io/IoConnector.html">IoConnector</a>
<a name="46" href="#46">46</a>  {
<a name="47" href="#47">47</a>      <strong>private</strong> <strong>static</strong> <strong>volatile</strong> <strong>int</strong> nextId = 0;
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/mina/io/IoSessionManagerFilterChain.html">IoSessionManagerFilterChain</a> filters =
<a name="50" href="#50">50</a>          <strong>new</strong> <a href="../../../../../org/apache/mina/io/datagram/DatagramSessionManagerFilterChain.html">DatagramSessionManagerFilterChain</a>( <strong>this</strong> );
<a name="51" href="#51">51</a>  
<a name="52" href="#52">52</a>      <strong>private</strong> <strong>final</strong> <strong>int</strong> id = nextId ++ ;
<a name="53" href="#53">53</a>  
<a name="54" href="#54">54</a>      <strong>private</strong> <strong>final</strong> Selector selector;
<a name="55" href="#55">55</a>  
<a name="56" href="#56">56</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="57" href="#57">57</a>  
<a name="58" href="#58">58</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="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> flushingSessions = <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> Worker worker;
<a name="63" href="#63">63</a>  
<a name="64" href="#64">64</a>      <em>/**<em>*</em></em>
<a name="65" href="#65">65</a>  <em>     * Creates a new instance.</em>
<a name="66" href="#66">66</a>  <em>     * </em>
<a name="67" href="#67">67</a>  <em>     * @throws IOException if failed to open a selector</em>
<a name="68" href="#68">68</a>  <em>     */</em>
<a name="69" href="#69">69</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/io/datagram/DatagramConnector.html">DatagramConnector</a>() throws IOException
<a name="70" href="#70">70</a>      {
<a name="71" href="#71">71</a>          selector = Selector.open();
<a name="72" href="#72">72</a>      }
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/io/IoSession.html">IoSession</a> connect( SocketAddress address, IoHandler handler ) throws IOException
<a name="75" href="#75">75</a>      {
<a name="76" href="#76">76</a>          <strong>return</strong> connect( address, <strong>null</strong>, handler);
<a name="77" href="#77">77</a>      }
<a name="78" href="#78">78</a>  
<a name="79" href="#79">79</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/io/IoSession.html">IoSession</a> connect( SocketAddress address, <strong>int</strong> timeout, IoHandler handler ) throws IOException
<a name="80" href="#80">80</a>      {
<a name="81" href="#81">81</a>          <strong>return</strong> connect( address, <strong>null</strong>, handler );
<a name="82" href="#82">82</a>      }
<a name="83" href="#83">83</a>  
<a name="84" href="#84">84</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/io/IoSession.html">IoSession</a> connect( SocketAddress address, SocketAddress localAddress, <strong>int</strong> timeout, IoHandler handler ) throws IOException
<a name="85" href="#85">85</a>      {
<a name="86" href="#86">86</a>          <strong>return</strong> connect( address, localAddress, handler );
<a name="87" href="#87">87</a>      }
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/io/IoSession.html">IoSession</a> connect( SocketAddress address, SocketAddress localAddress,
<a name="90" href="#90">90</a>                                <a href="../../../../../org/apache/mina/io/IoHandler.html">IoHandler</a> handler ) throws IOException
<a name="91" href="#91">91</a>      {
<a name="92" href="#92">92</a>          <strong>if</strong>( address == <strong>null</strong> )
<a name="93" href="#93">93</a>              <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"address"</span> );
<a name="94" href="#94">94</a>          <strong>if</strong>( handler == <strong>null</strong> )
<a name="95" href="#95">95</a>              <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"handler"</span> );
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>          <strong>if</strong>( !( address instanceof InetSocketAddress ) )
<a name="98" href="#98">98</a>              <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"Unexpected address type: "</span>
<a name="99" href="#99">99</a>                                                  + address.getClass() );
<a name="100" href="#100">100</a>         
<a name="101" href="#101">101</a>         <strong>if</strong>( localAddress != <strong>null</strong> &amp;&amp; !( localAddress instanceof InetSocketAddress ) )
<a name="102" href="#102">102</a>         {
<a name="103" href="#103">103</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"Unexpected local address type: "</span>
<a name="104" href="#104">104</a>                                                 + localAddress.getClass() );
<a name="105" href="#105">105</a>         }
<a name="106" href="#106">106</a>         
<a name="107" href="#107">107</a>         DatagramChannel ch = DatagramChannel.open();
<a name="108" href="#108">108</a>         <strong>boolean</strong> initialized = false;
<a name="109" href="#109">109</a>         <strong>try</strong>
<a name="110" href="#110">110</a>         {
<a name="111" href="#111">111</a>             ch.socket().setReuseAddress( <strong>true</strong> );
<a name="112" href="#112">112</a>             <strong>if</strong>( localAddress != <strong>null</strong> )
<a name="113" href="#113">113</a>             {
<a name="114" href="#114">114</a>                 ch.socket().bind( localAddress );
<a name="115" href="#115">115</a>             }
<a name="116" href="#116">116</a>             ch.connect( address );
<a name="117" href="#117">117</a>             ch.configureBlocking( false );
<a name="118" href="#118">118</a>             initialized = <strong>true</strong>;
<a name="119" href="#119">119</a>         }
<a name="120" href="#120">120</a>         <strong>finally</strong>
<a name="121" href="#121">121</a>         {
<a name="122" href="#122">122</a>             <strong>if</strong>( !initialized )
<a name="123" href="#123">123</a>             {
<a name="124" href="#124">124</a>                 ch.close();
<a name="125" href="#125">125</a>             }
<a name="126" href="#126">126</a>         }
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>         RegistrationRequest request = <strong>new</strong> RegistrationRequest( ch, handler );
<a name="129" href="#129">129</a>         <strong>synchronized</strong>( <strong>this</strong> )
<a name="130" href="#130">130</a>         {
<a name="131" href="#131">131</a>             <strong>synchronized</strong>( registerQueue )
<a name="132" href="#132">132</a>             {
<a name="133" href="#133">133</a>                 registerQueue.push( request );
<a name="134" href="#134">134</a>             }
<a name="135" href="#135">135</a>             startupWorker();
<a name="136" href="#136">136</a>         }
<a name="137" href="#137">137</a> 
<a name="138" href="#138">138</a>         selector.wakeup();
<a name="139" href="#139">139</a> 
<a name="140" href="#140">140</a>         <strong>synchronized</strong>( request )
<a name="141" href="#141">141</a>         {
<a name="142" href="#142">142</a>             <strong>while</strong>( !request.done )
<a name="143" href="#143">143</a>             {
<a name="144" href="#144">144</a>                 <strong>try</strong>
<a name="145" href="#145">145</a>                 {
<a name="146" href="#146">146</a>                     request.wait();
<a name="147" href="#147">147</a>                 }
<a name="148" href="#148">148</a>                 <strong>catch</strong>( InterruptedException e )
<a name="149" href="#149">149</a>                 {
<a name="150" href="#150">150</a>                 }
<a name="151" href="#151">151</a>             }
<a name="152" href="#152">152</a>         }
<a name="153" href="#153">153</a>         
<a name="154" href="#154">154</a>         <strong>if</strong>( request.exception != <strong>null</strong> )
<a name="155" href="#155">155</a>         {
<a name="156" href="#156">156</a>             ExceptionUtil.throwException( request.exception );
<a name="157" href="#157">157</a>         }
<a name="158" href="#158">158</a> 
<a name="159" href="#159">159</a>         <strong>return</strong> request.session;
<a name="160" href="#160">160</a>     }
<a name="161" href="#161">161</a>     
<a name="162" href="#162">162</a>     <strong>private</strong> <strong>synchronized</strong> <strong>void</strong> startupWorker()
<a name="163" href="#163">163</a>     {
<a name="164" href="#164">164</a>         <strong>if</strong>( worker == <strong>null</strong> )
<a name="165" href="#165">165</a>         {
<a name="166" href="#166">166</a>             worker = <strong>new</strong> Worker();
<a name="167" href="#167">167</a>             worker.start();
<a name="168" href="#168">168</a>         }
<a name="169" href="#169">169</a>     }
<a name="170" href="#170">170</a> 
<a name="171" href="#171">171</a>     <strong>void</strong> closeSession( DatagramSession session )
<a name="172" href="#172">172</a>     {
<a name="173" href="#173">173</a>         <strong>synchronized</strong>( <strong>this</strong> )
<a name="174" href="#174">174</a>         {
<a name="175" href="#175">175</a>             SelectionKey key = session.getSelectionKey();
<a name="176" href="#176">176</a>             <strong>synchronized</strong>( cancelQueue )
<a name="177" href="#177">177</a>             {
<a name="178" href="#178">178</a>                 cancelQueue.push( key );
<a name="179" href="#179">179</a>             }
<a name="180" href="#180">180</a>             startupWorker();
<a name="181" href="#181">181</a>         }
<a name="182" href="#182">182</a> 
<a name="183" href="#183">183</a>         selector.wakeup();
<a name="184" href="#184">184</a>     }
<a name="185" href="#185">185</a> 
<a name="186" href="#186">186</a>     <strong>void</strong> flushSession( DatagramSession session )
<a name="187" href="#187">187</a>     {
<a name="188" href="#188">188</a>         scheduleFlush( session );
<a name="189" href="#189">189</a>         selector.wakeup();
<a name="190" href="#190">190</a>     }
<a name="191" href="#191">191</a> 
<a name="192" href="#192">192</a>     <strong>private</strong> <strong>void</strong> scheduleFlush( DatagramSession session )
<a name="193" href="#193">193</a>     {
<a name="194" href="#194">194</a>         <strong>synchronized</strong>( flushingSessions )
<a name="195" href="#195">195</a>         {
<a name="196" href="#196">196</a>             flushingSessions.push( session );
<a name="197" href="#197">197</a>         }
<a name="198" href="#198">198</a>     }
<a name="199" href="#199">199</a> 
<a name="200" href="#200">200</a>     <strong>private</strong> <strong>class</strong> Worker <strong>extends</strong> Thread
<a name="201" href="#201">201</a>     {
<a name="202" href="#202">202</a>         <strong>public</strong> Worker()
<a name="203" href="#203">203</a>         {
<a name="204" href="#204">204</a>             <strong>super</strong>( <span class="string">"DatagramAcceptor-"</span> + id );
<a name="205" href="#205">205</a>         }
<a name="206" href="#206">206</a> 
<a name="207" href="#207">207</a>         <strong>public</strong> <strong>void</strong> run()
<a name="208" href="#208">208</a>         {
<a name="209" href="#209">209</a>             <strong>for</strong>( ;; )
<a name="210" href="#210">210</a>             {
<a name="211" href="#211">211</a>                 <strong>try</strong>
<a name="212" href="#212">212</a>                 {
<a name="213" href="#213">213</a>                     <strong>int</strong> nKeys = selector.select();
<a name="214" href="#214">214</a> 
<a name="215" href="#215">215</a>                     registerNew();
<a name="216" href="#216">216</a> 
<a name="217" href="#217">217</a>                     <strong>if</strong>( nKeys > 0 )
<a name="218" href="#218">218</a>                     {
<a name="219" href="#219">219</a>                         processReadySessions( selector.selectedKeys() );
<a name="220" href="#220">220</a>                     }
<a name="221" href="#221">221</a> 
<a name="222" href="#222">222</a>                     flushSessions();
<a name="223" href="#223">223</a>                     cancelKeys();
<a name="224" href="#224">224</a> 
<a name="225" href="#225">225</a>                     <strong>if</strong>( selector.keys().isEmpty() )
<a name="226" href="#226">226</a>                     {
<a name="227" href="#227">227</a>                         <strong>synchronized</strong>( DatagramConnector.<strong>this</strong> )
<a name="228" href="#228">228</a>                         {
<a name="229" href="#229">229</a>                             <strong>if</strong>( selector.keys().isEmpty() &amp;&amp;
<a name="230" href="#230">230</a>                                 registerQueue.isEmpty() &amp;&amp;
<a name="231" href="#231">231</a>                                 cancelQueue.isEmpty() )
<a name="232" href="#232">232</a>                             {
<a name="233" href="#233">233</a>                                 worker = <strong>null</strong>;
<a name="234" href="#234">234</a>                                 <strong>break</strong>;
<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>                 }
<a name="239" href="#239">239</a>                 <strong>catch</strong>( IOException e )
<a name="240" href="#240">240</a>                 {
<a name="241" href="#241">241</a>                     exceptionMonitor.exceptionCaught( DatagramConnector.<strong>this</strong>,
<a name="242" href="#242">242</a>                             e );
<a name="243" href="#243">243</a> 
<a name="244" href="#244">244</a>                     <strong>try</strong>
<a name="245" href="#245">245</a>                     {
<a name="246" href="#246">246</a>                         Thread.sleep( 1000 );
<a name="247" href="#247">247</a>                     }
<a name="248" href="#248">248</a>                     <strong>catch</strong>( InterruptedException e1 )
<a name="249" href="#249">249</a>                     {
<a name="250" href="#250">250</a>                     }
<a name="251" href="#251">251</a>                 }
<a name="252" href="#252">252</a>             }
<a name="253" href="#253">253</a>         }
<a name="254" href="#254">254</a>     }
<a name="255" href="#255">255</a> 
<a name="256" href="#256">256</a>     <strong>private</strong> <strong>void</strong> processReadySessions( Set keys )
<a name="257" href="#257">257</a>     {
<a name="258" href="#258">258</a>         Iterator it = keys.iterator();
<a name="259" href="#259">259</a>         <strong>while</strong>( it.hasNext() )
<a name="260" href="#260">260</a>         {
<a name="261" href="#261">261</a>             SelectionKey key = ( SelectionKey ) it.next();
<a name="262" href="#262">262</a>             it.remove();
<a name="263" href="#263">263</a> 
<a name="264" href="#264">264</a>             <a href="../../../../../org/apache/mina/io/datagram/DatagramSession.html">DatagramSession</a> session = ( DatagramSession ) key.attachment();
<a name="265" href="#265">265</a> 
<a name="266" href="#266">266</a>             <strong>if</strong>( key.isReadable() )
<a name="267" href="#267">267</a>             {
<a name="268" href="#268">268</a>                 readSession( session );
<a name="269" href="#269">269</a>             }
<a name="270" href="#270">270</a> 
<a name="271" href="#271">271</a>             <strong>if</strong>( key.isWritable() )
<a name="272" href="#272">272</a>             {
<a name="273" href="#273">273</a>                 scheduleFlush( session );
<a name="274" href="#274">274</a>             }
<a name="275" href="#275">275</a>         }
<a name="276" href="#276">276</a>     }
<a name="277" href="#277">277</a> 
<a name="278" href="#278">278</a>     <strong>private</strong> <strong>void</strong> readSession( DatagramSession session )
<a name="279" href="#279">279</a>     {
<a name="280" href="#280">280</a> 
<a name="281" href="#281">281</a>         <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> readBuf = ByteBuffer.allocate( 2048 );
<a name="282" href="#282">282</a>         <strong>try</strong>
<a name="283" href="#283">283</a>         {
<a name="284" href="#284">284</a>             <strong>int</strong> readBytes = session.getChannel().read( readBuf.buf() );
<a name="285" href="#285">285</a>             <strong>if</strong>( readBytes > 0 )
<a name="286" href="#286">286</a>             {
<a name="287" href="#287">287</a>                 readBuf.flip();
<a name="288" href="#288">288</a>                 <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> newBuf = ByteBuffer.allocate( readBuf.limit() );
<a name="289" href="#289">289</a>                 newBuf.put( readBuf );
<a name="290" href="#290">290</a>                 newBuf.flip();
<a name="291" href="#291">291</a> 
<a name="292" href="#292">292</a>                 session.increaseReadBytes( readBytes );
<a name="293" href="#293">293</a>                 filters.dataRead( session, newBuf );
<a name="294" href="#294">294</a>             }
<a name="295" href="#295">295</a>         }
<a name="296" href="#296">296</a>         <strong>catch</strong>( IOException e )
<a name="297" href="#297">297</a>         {
<a name="298" href="#298">298</a>             filters.exceptionCaught( session, e );
<a name="299" href="#299">299</a>         }
<a name="300" href="#300">300</a>         <strong>finally</strong>
<a name="301" href="#301">301</a>         {
<a name="302" href="#302">302</a>             readBuf.release();
<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> flushSessions()
<a name="307" href="#307">307</a>     {
<a name="308" href="#308">308</a>         <strong>if</strong>( flushingSessions.size() == 0 )
<a name="309" href="#309">309</a>             <strong>return</strong>;
<a name="310" href="#310">310</a> 
<a name="311" href="#311">311</a>         <strong>for</strong>( ;; )
<a name="312" href="#312">312</a>         {
<a name="313" href="#313">313</a>             <a href="../../../../../org/apache/mina/io/datagram/DatagramSession.html">DatagramSession</a> session;
<a name="314" href="#314">314</a> 
<a name="315" href="#315">315</a>             <strong>synchronized</strong>( flushingSessions )
<a name="316" href="#316">316</a>             {
<a name="317" href="#317">317</a>                 session = ( DatagramSession ) flushingSessions.pop();
<a name="318" href="#318">318</a>             }
<a name="319" href="#319">319</a> 
<a name="320" href="#320">320</a>             <strong>if</strong>( session == <strong>null</strong> )
<a name="321" href="#321">321</a>                 <strong>break</strong>;
<a name="322" href="#322">322</a> 
<a name="323" href="#323">323</a>             <strong>try</strong>
<a name="324" href="#324">324</a>             {
<a name="325" href="#325">325</a>                 flush( session );
<a name="326" href="#326">326</a>             }
<a name="327" href="#327">327</a>             <strong>catch</strong>( IOException e )
<a name="328" href="#328">328</a>             {
<a name="329" href="#329">329</a>                 session.getManagerFilterChain().exceptionCaught( session, e );
<a name="330" href="#330">330</a>             }
<a name="331" href="#331">331</a>         }
<a name="332" href="#332">332</a>     }
<a name="333" href="#333">333</a> 
<a name="334" href="#334">334</a>     <strong>private</strong> <strong>void</strong> flush( DatagramSession session ) throws IOException
<a name="335" href="#335">335</a>     {
<a name="336" href="#336">336</a>         DatagramChannel ch = session.getChannel();
<a name="337" href="#337">337</a> 
<a name="338" href="#338">338</a>         <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a> writeBufferQueue = session.getWriteBufferQueue();
<a name="339" href="#339">339</a>         <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a> writeMarkerQueue = session.getWriteMarkerQueue();
<a name="340" href="#340">340</a> 
<a name="341" href="#341">341</a>         <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> buf;
<a name="342" href="#342">342</a>         Object marker;
<a name="343" href="#343">343</a>         <strong>for</strong>( ;; )
<a name="344" href="#344">344</a>         {
<a name="345" href="#345">345</a>             <strong>synchronized</strong>( writeBufferQueue )
<a name="346" href="#346">346</a>             {
<a name="347" href="#347">347</a>                 buf = ( ByteBuffer ) writeBufferQueue.first();
<a name="348" href="#348">348</a>                 marker = writeMarkerQueue.first();
<a name="349" href="#349">349</a>             }
<a name="350" href="#350">350</a> 
<a name="351" href="#351">351</a>             <strong>if</strong>( buf == <strong>null</strong> )
<a name="352" href="#352">352</a>                 <strong>break</strong>;
<a name="353" href="#353">353</a> 
<a name="354" href="#354">354</a>             <strong>if</strong>( buf.remaining() == 0 )
<a name="355" href="#355">355</a>             {
<a name="356" href="#356">356</a>                 <em class="comment">// pop and fire event</em>
<a name="357" href="#357">357</a>                 <strong>synchronized</strong>( writeBufferQueue )
<a name="358" href="#358">358</a>                 {
<a name="359" href="#359">359</a>                     writeBufferQueue.pop();
<a name="360" href="#360">360</a>                     writeMarkerQueue.pop();
<a name="361" href="#361">361</a>                 }
<a name="362" href="#362">362</a> 
<a name="363" href="#363">363</a>                 <strong>try</strong>
<a name="364" href="#364">364</a>                 {
<a name="365" href="#365">365</a>                     buf.release();
<a name="366" href="#366">366</a>                 }
<a name="367" href="#367">367</a>                 <strong>catch</strong>( IllegalStateException e )
<a name="368" href="#368">368</a>                 {
<a name="369" href="#369">369</a>                     session.getManagerFilterChain().exceptionCaught( session, e );
<a name="370" href="#370">370</a>                 }
<a name="371" href="#371">371</a> 
<a name="372" href="#372">372</a>                 session.getManagerFilterChain().dataWritten( session, marker );
<a name="373" href="#373">373</a>                 <strong>continue</strong>;
<a name="374" href="#374">374</a>             }
<a name="375" href="#375">375</a> 
<a name="376" href="#376">376</a>             <strong>int</strong> writtenBytes = ch.write( buf.buf() );
<a name="377" href="#377">377</a> 
<a name="378" href="#378">378</a>             SelectionKey key = session.getSelectionKey();
<a name="379" href="#379">379</a>             <strong>if</strong>( writtenBytes == 0 )
<a name="380" href="#380">380</a>             {
<a name="381" href="#381">381</a>                 <em class="comment">// Kernel buffer is full</em>
<a name="382" href="#382">382</a>                 key.interestOps( key.interestOps() | SelectionKey.OP_WRITE );
<a name="383" href="#383">383</a>             }
<a name="384" href="#384">384</a>             <strong>else</strong> <strong>if</strong>( writtenBytes > 0 )
<a name="385" href="#385">385</a>             {
<a name="386" href="#386">386</a>                 key.interestOps( key.interestOps()
<a name="387" href="#387">387</a>                                  &amp; ( ~SelectionKey.OP_WRITE ) );
<a name="388" href="#388">388</a> 
<a name="389" href="#389">389</a>                 <em class="comment">// pop and fire event</em>
<a name="390" href="#390">390</a>                 <strong>synchronized</strong>( writeBufferQueue )
<a name="391" href="#391">391</a>                 {
<a name="392" href="#392">392</a>                     writeBufferQueue.pop();
<a name="393" href="#393">393</a>                     writeMarkerQueue.pop();
<a name="394" href="#394">394</a>                 }
<a name="395" href="#395">395</a> 
<a name="396" href="#396">396</a>                 session.increaseWrittenBytes( writtenBytes );
<a name="397" href="#397">397</a>                 session.getManagerFilterChain().dataWritten( session, marker );
<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> 
<a name="402" href="#402">402</a>     <strong>private</strong> <strong>void</strong> registerNew()
<a name="403" href="#403">403</a>     {
<a name="404" href="#404">404</a>         <strong>if</strong>( registerQueue.isEmpty() )
<a name="405" href="#405">405</a>             <strong>return</strong>;
<a name="406" href="#406">406</a> 
<a name="407" href="#407">407</a>         <strong>for</strong>( ;; )
<a name="408" href="#408">408</a>         {
<a name="409" href="#409">409</a>             RegistrationRequest req;
<a name="410" href="#410">410</a>             <strong>synchronized</strong>( registerQueue )
<a name="411" href="#411">411</a>             {
<a name="412" href="#412">412</a>                 req = ( RegistrationRequest ) registerQueue.pop();
<a name="413" href="#413">413</a>             }
<a name="414" href="#414">414</a> 
<a name="415" href="#415">415</a>             <strong>if</strong>( req == <strong>null</strong> )
<a name="416" href="#416">416</a>                 <strong>break</strong>;
<a name="417" href="#417">417</a> 
<a name="418" href="#418">418</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="419" href="#419">419</a>                     filters, req.channel, req.handler );
<a name="420" href="#420">420</a> 
<a name="421" href="#421">421</a>             <strong>try</strong>
<a name="422" href="#422">422</a>             {
<a name="423" href="#423">423</a>                 req.handler.sessionCreated( session );
<a name="424" href="#424">424</a> 
<a name="425" href="#425">425</a>                 SelectionKey key = req.channel.register( selector,
<a name="426" href="#426">426</a>                         SelectionKey.OP_READ, session );
<a name="427" href="#427">427</a>     
<a name="428" href="#428">428</a>                 session.setSelectionKey( key );
<a name="429" href="#429">429</a>             }
<a name="430" href="#430">430</a>             <strong>catch</strong>( Throwable t )
<a name="431" href="#431">431</a>             {
<a name="432" href="#432">432</a>                 req.exception = t;
<a name="433" href="#433">433</a>             }
<a name="434" href="#434">434</a>             <strong>finally</strong> 
<a name="435" href="#435">435</a>             {
<a name="436" href="#436">436</a>                 <strong>synchronized</strong>( req )
<a name="437" href="#437">437</a>                 {
<a name="438" href="#438">438</a>                     req.done = <strong>true</strong>;
<a name="439" href="#439">439</a>                     req.session = session;
<a name="440" href="#440">440</a>                     req.notify();
<a name="441" href="#441">441</a>                 }
<a name="442" href="#442">442</a>                 
<a name="443" href="#443">443</a>                 <strong>if</strong>( req.exception != <strong>null</strong> )
<a name="444" href="#444">444</a>                 {
<a name="445" href="#445">445</a>                     <strong>try</strong>
<a name="446" href="#446">446</a>                     {
<a name="447" href="#447">447</a>                         req.channel.close();
<a name="448" href="#448">448</a>                     }
<a name="449" href="#449">449</a>                     <strong>catch</strong> (IOException e)
<a name="450" href="#450">450</a>                     {
<a name="451" href="#451">451</a>                         exceptionMonitor.exceptionCaught( <strong>this</strong>, e );
<a name="452" href="#452">452</a>                     }
<a name="453" href="#453">453</a>                 }
<a name="454" href="#454">454</a>             }
<a name="455" href="#455">455</a>         }
<a name="456" href="#456">456</a>     }
<a name="457" href="#457">457</a> 
<a name="458" href="#458">458</a>     <strong>private</strong> <strong>void</strong> cancelKeys()
<a name="459" href="#459">459</a>     {
<a name="460" href="#460">460</a>         <strong>if</strong>( cancelQueue.isEmpty() )
<a name="461" href="#461">461</a>             <strong>return</strong>;
<a name="462" href="#462">462</a> 
<a name="463" href="#463">463</a>         <strong>for</strong>( ;; )
<a name="464" href="#464">464</a>         {
<a name="465" href="#465">465</a>             SelectionKey key;
<a name="466" href="#466">466</a>             <strong>synchronized</strong>( cancelQueue )
<a name="467" href="#467">467</a>             {
<a name="468" href="#468">468</a>                 key = ( SelectionKey ) cancelQueue.pop();
<a name="469" href="#469">469</a>             }
<a name="470" href="#470">470</a> 
<a name="471" href="#471">471</a>             <strong>if</strong>( key == <strong>null</strong> )
<a name="472" href="#472">472</a>                 <strong>break</strong>;
<a name="473" href="#473">473</a>             <strong>else</strong>
<a name="474" href="#474">474</a>             {
<a name="475" href="#475">475</a>                 DatagramChannel ch = ( DatagramChannel ) key.channel();
<a name="476" href="#476">476</a>                 <strong>try</strong>
<a name="477" href="#477">477</a>                 {
<a name="478" href="#478">478</a>                     ch.close();
<a name="479" href="#479">479</a>                 }
<a name="480" href="#480">480</a>                 <strong>catch</strong>( IOException e )
<a name="481" href="#481">481</a>                 {
<a name="482" href="#482">482</a>                     exceptionMonitor.exceptionCaught( <strong>this</strong>, e );
<a name="483" href="#483">483</a>                 }
<a name="484" href="#484">484</a>                 key.cancel();
<a name="485" href="#485">485</a>                 selector.wakeup(); <em class="comment">// wake up again to trigger thread death</em>
<a name="486" href="#486">486</a>             }
<a name="487" href="#487">487</a>         }
<a name="488" href="#488">488</a>     }
<a name="489" href="#489">489</a> 
<a name="490" href="#490">490</a>     <strong>public</strong> <a href="../../../../../org/apache/mina/io/IoFilterChain.html">IoFilterChain</a> getFilterChain()
<a name="491" href="#491">491</a>     {
<a name="492" href="#492">492</a>         <strong>return</strong> filters;
<a name="493" href="#493">493</a>     }
<a name="494" href="#494">494</a> 
<a name="495" href="#495">495</a>     <strong>private</strong> <strong>static</strong> <strong>class</strong> RegistrationRequest
<a name="496" href="#496">496</a>     {
<a name="497" href="#497">497</a>         <strong>private</strong> <strong>final</strong> DatagramChannel channel;
<a name="498" href="#498">498</a> 
<a name="499" href="#499">499</a>         <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/mina/io/IoHandler.html">IoHandler</a> handler;
<a name="500" href="#500">500</a>         
<a name="501" href="#501">501</a>         <strong>private</strong> <strong>boolean</strong> done;
<a name="502" href="#502">502</a>         
<a name="503" href="#503">503</a>         <strong>private</strong> <a href="../../../../../org/apache/mina/io/datagram/DatagramSession.html">DatagramSession</a> session;
<a name="504" href="#504">504</a>         
<a name="505" href="#505">505</a>         <strong>private</strong> Throwable exception;
<a name="506" href="#506">506</a> 
<a name="507" href="#507">507</a>         <strong>private</strong> RegistrationRequest( DatagramChannel channel,
<a name="508" href="#508">508</a>                                      <a href="../../../../../org/apache/mina/io/IoHandler.html">IoHandler</a> handler )
<a name="509" href="#509">509</a>         {
<a name="510" href="#510">510</a>             <strong>this</strong>.channel = channel;
<a name="511" href="#511">511</a>             <strong>this</strong>.handler = handler;
<a name="512" href="#512">512</a>         }
<a name="513" href="#513">513</a>     }
<a name="514" href="#514">514</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

