<!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>IoAdapter xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/protocol/io/IoAdapter.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: IoAdapter.java 210062 2005-07-11 03:52:38Z 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/protocol/io/package-summary.html">org.apache.mina.protocol.io</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong>import</strong> org.apache.mina.common.ByteBuffer;
<a name="23" href="#23">23</a>  <strong>import</strong> org.apache.mina.common.IdleStatus;
<a name="24" href="#24">24</a>  <strong>import</strong> org.apache.mina.io.IoHandler;
<a name="25" href="#25">25</a>  <strong>import</strong> org.apache.mina.io.IoSession;
<a name="26" href="#26">26</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolCodecFactory;
<a name="27" href="#27">27</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolDecoder;
<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolEncoder;
<a name="29" href="#29">29</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolHandler;
<a name="30" href="#30">30</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolFilterChain;
<a name="31" href="#31">31</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolProvider;
<a name="32" href="#32">32</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolSession;
<a name="33" href="#33">33</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolViolationException;
<a name="34" href="#34">34</a>  <strong>import</strong> org.apache.mina.util.Queue;
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>  <em>/**<em>*</em></em>
<a name="37" href="#37">37</a>  <em> * Adapts the specified {@link ProtocolProvider} to {@link IoHandler}.</em>
<a name="38" href="#38">38</a>  <em> * This class is used by {@link IoProtocolAcceptor} and {@link IoProtocolConnector}</em>
<a name="39" href="#39">39</a>  <em> * internally.</em>
<a name="40" href="#40">40</a>  <em> * &lt;p></em>
<a name="41" href="#41">41</a>  <em> * It is a bridge between I/O layer and Protocol layer.  Protocol layer itself</em>
<a name="42" href="#42">42</a>  <em> * cannot do any real I/O, but it translates I/O events to more higher level</em>
<a name="43" href="#43">43</a>  <em> * ones and vice versa.</em>
<a name="44" href="#44">44</a>  <em> * </em>
<a name="45" href="#45">45</a>  <em> * @author Trustin Lee (trustin@apache.org)</em>
<a name="46" href="#46">46</a>  <em> * @version $Rev: 210062 $, $Date: 2005-07-11 12:52:38 +0900 $</em>
<a name="47" href="#47">47</a>  <em> */</em>
<a name="48" href="#48">48</a>  <strong>class</strong> <a href="../../../../../org/apache/mina/protocol/io/IoAdapter.html">IoAdapter</a>
<a name="49" href="#49">49</a>  {
<a name="50" href="#50">50</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String KEY = <span class="string">"IoAdapter.ProtocolSession"</span>;
<a name="51" href="#51">51</a>  
<a name="52" href="#52">52</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/mina/protocol/io/IoProtocolSessionManagerFilterChain.html">IoProtocolSessionManagerFilterChain</a> managerFilterChain;
<a name="53" href="#53">53</a>  
<a name="54" href="#54">54</a>      <a href="../../../../../org/apache/mina/protocol/io/IoAdapter.html">IoAdapter</a>( IoProtocolSessionManagerFilterChain filters )
<a name="55" href="#55">55</a>      {
<a name="56" href="#56">56</a>          <strong>this</strong>.managerFilterChain = filters;
<a name="57" href="#57">57</a>      }
<a name="58" href="#58">58</a>      
<a name="59" href="#59">59</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/protocol/ProtocolFilterChain.html">ProtocolFilterChain</a> getFilterChain()
<a name="60" href="#60">60</a>      {
<a name="61" href="#61">61</a>          <strong>return</strong> managerFilterChain;
<a name="62" href="#62">62</a>      }
<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>     * Converts the specified &lt;code>protocolProvider&lt;/code> to {@link IoAdapter}</em>
<a name="66" href="#66">66</a>  <em>     * to use for actual I/O.</em>
<a name="67" href="#67">67</a>  <em>     * </em>
<a name="68" href="#68">68</a>  <em>     * @return a new I/O handler for the specified &lt;code>protocolProvider&lt;/code></em>
<a name="69" href="#69">69</a>  <em>     */</em>
<a name="70" href="#70">70</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/io/IoHandler.html">IoHandler</a> adapt( ProtocolProvider protocolProvider )
<a name="71" href="#71">71</a>      {
<a name="72" href="#72">72</a>          <strong>return</strong> <strong>new</strong> SessionHandlerAdapter( protocolProvider );
<a name="73" href="#73">73</a>      }
<a name="74" href="#74">74</a>  
<a name="75" href="#75">75</a>      <em>/**<em>*</em></em>
<a name="76" href="#76">76</a>  <em>     * Returns {@link ProtocolSession} of the specified {@link IoSession}.</em>
<a name="77" href="#77">77</a>  <em>     */</em>
<a name="78" href="#78">78</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> toProtocolSession( IoSession session )
<a name="79" href="#79">79</a>      {
<a name="80" href="#80">80</a>          <a href="../../../../../org/apache/mina/io/IoHandler.html">IoHandler</a> handler = session.getHandler();
<a name="81" href="#81">81</a>          <strong>if</strong>( handler instanceof SessionHandlerAdapter )
<a name="82" href="#82">82</a>          {
<a name="83" href="#83">83</a>              SessionHandlerAdapter sha = ( SessionHandlerAdapter ) handler;
<a name="84" href="#84">84</a>              <strong>return</strong> sha.getProtocolSession( session );
<a name="85" href="#85">85</a>          }
<a name="86" href="#86">86</a>          <strong>else</strong>
<a name="87" href="#87">87</a>          {
<a name="88" href="#88">88</a>              <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"Not adapted from IoAdapter."</span> );
<a name="89" href="#89">89</a>          }
<a name="90" href="#90">90</a>      }
<a name="91" href="#91">91</a>  
<a name="92" href="#92">92</a>      <strong>class</strong> SessionHandlerAdapter implements <a href="../../../../../org/apache/mina/io/IoHandler.html">IoHandler</a>
<a name="93" href="#93">93</a>      {
<a name="94" href="#94">94</a>          <strong>final</strong> <a href="../../../../../org/apache/mina/protocol/ProtocolCodecFactory.html">ProtocolCodecFactory</a> codecFactory;
<a name="95" href="#95">95</a>          <strong>final</strong> <a href="../../../../../org/apache/mina/protocol/ProtocolHandler.html">ProtocolHandler</a> handler;
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>          <strong>public</strong> SessionHandlerAdapter( ProtocolProvider protocolProvider )
<a name="98" href="#98">98</a>          {
<a name="99" href="#99">99</a>              codecFactory = protocolProvider.getCodecFactory();
<a name="100" href="#100">100</a>             <strong>this</strong>.handler = protocolProvider.getHandler();
<a name="101" href="#101">101</a>         }
<a name="102" href="#102">102</a>         
<a name="103" href="#103">103</a>         <strong>public</strong> <strong>void</strong> sessionCreated( IoSession session ) throws Exception
<a name="104" href="#104">104</a>         {
<a name="105" href="#105">105</a>             handler.sessionCreated( getProtocolSession( session ) );
<a name="106" href="#106">106</a>         }
<a name="107" href="#107">107</a> 
<a name="108" href="#108">108</a>         <strong>public</strong> <strong>void</strong> sessionOpened( IoSession session )
<a name="109" href="#109">109</a>         {
<a name="110" href="#110">110</a>             managerFilterChain.sessionOpened( getProtocolSession( session ) );
<a name="111" href="#111">111</a>         }
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>         <strong>public</strong> <strong>void</strong> sessionClosed( IoSession session )
<a name="114" href="#114">114</a>         {
<a name="115" href="#115">115</a>             managerFilterChain.sessionClosed( getProtocolSession( session ) );
<a name="116" href="#116">116</a>         }
<a name="117" href="#117">117</a> 
<a name="118" href="#118">118</a>         <strong>public</strong> <strong>void</strong> sessionIdle( IoSession session, IdleStatus status )
<a name="119" href="#119">119</a>         {
<a name="120" href="#120">120</a>             managerFilterChain.sessionIdle( getProtocolSession( session ), status );
<a name="121" href="#121">121</a>         }
<a name="122" href="#122">122</a> 
<a name="123" href="#123">123</a>         <strong>public</strong> <strong>void</strong> exceptionCaught( IoSession session, Throwable cause )
<a name="124" href="#124">124</a>         {
<a name="125" href="#125">125</a>             managerFilterChain.exceptionCaught( getProtocolSession( session ), cause );
<a name="126" href="#126">126</a>         }
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>         <strong>public</strong> <strong>void</strong> dataRead( IoSession session, ByteBuffer in )
<a name="129" href="#129">129</a>         {
<a name="130" href="#130">130</a>             <a href="../../../../../org/apache/mina/protocol/io/IoProtocolSession.html">IoProtocolSession</a> psession = getProtocolSession( session );
<a name="131" href="#131">131</a>             <a href="../../../../../org/apache/mina/protocol/ProtocolDecoder.html">ProtocolDecoder</a> decoder = psession.decoder;
<a name="132" href="#132">132</a>             <strong>try</strong>
<a name="133" href="#133">133</a>             {
<a name="134" href="#134">134</a>                 <strong>synchronized</strong>( decoder )
<a name="135" href="#135">135</a>                 {
<a name="136" href="#136">136</a>                     decoder.decode( psession, in, psession.decOut );
<a name="137" href="#137">137</a>                 }
<a name="138" href="#138">138</a> 
<a name="139" href="#139">139</a>                 <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a> queue = psession.decOut.getMessageQueue();
<a name="140" href="#140">140</a>                 <strong>synchronized</strong>( queue )
<a name="141" href="#141">141</a>                 {
<a name="142" href="#142">142</a>                     <strong>if</strong>( !queue.isEmpty() )
<a name="143" href="#143">143</a>                     {
<a name="144" href="#144">144</a>                         <strong>do</strong>
<a name="145" href="#145">145</a>                         {
<a name="146" href="#146">146</a>                             managerFilterChain.messageReceived( psession, queue.pop() );
<a name="147" href="#147">147</a>                         }
<a name="148" href="#148">148</a>                         <strong>while</strong>( !queue.isEmpty() );
<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>             <strong>catch</strong>( ProtocolViolationException pve )
<a name="153" href="#153">153</a>             {
<a name="154" href="#154">154</a>                 pve.setBuffer( in );
<a name="155" href="#155">155</a>                 managerFilterChain.exceptionCaught( psession, pve );
<a name="156" href="#156">156</a>             }
<a name="157" href="#157">157</a>             <strong>catch</strong>( Throwable t )
<a name="158" href="#158">158</a>             {
<a name="159" href="#159">159</a>                 managerFilterChain.exceptionCaught( psession, t );
<a name="160" href="#160">160</a>             }
<a name="161" href="#161">161</a>         }
<a name="162" href="#162">162</a> 
<a name="163" href="#163">163</a>         <strong>public</strong> <strong>void</strong> dataWritten( IoSession session, Object marker )
<a name="164" href="#164">164</a>         {
<a name="165" href="#165">165</a>             <strong>if</strong>( marker == <strong>null</strong> )
<a name="166" href="#166">166</a>                 <strong>return</strong>;
<a name="167" href="#167">167</a>             managerFilterChain.messageSent( getProtocolSession( session ),
<a name="168" href="#168">168</a>                                  marker );
<a name="169" href="#169">169</a>         }
<a name="170" href="#170">170</a> 
<a name="171" href="#171">171</a>         <strong>void</strong> doWrite( IoSession session )
<a name="172" href="#172">172</a>         {
<a name="173" href="#173">173</a>             <a href="../../../../../org/apache/mina/protocol/io/IoProtocolSession.html">IoProtocolSession</a> psession = getProtocolSession( session );
<a name="174" href="#174">174</a>             <a href="../../../../../org/apache/mina/protocol/ProtocolEncoder.html">ProtocolEncoder</a> encoder = psession.encoder;
<a name="175" href="#175">175</a>             <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a> writeQueue = psession.writeQueue;
<a name="176" href="#176">176</a> 
<a name="177" href="#177">177</a>             <strong>if</strong>( writeQueue.isEmpty() )
<a name="178" href="#178">178</a>             {
<a name="179" href="#179">179</a>                 <strong>return</strong>;
<a name="180" href="#180">180</a>             }
<a name="181" href="#181">181</a> 
<a name="182" href="#182">182</a>             <strong>try</strong>
<a name="183" href="#183">183</a>             {
<a name="184" href="#184">184</a>                 <strong>while</strong>( !writeQueue.isEmpty() )
<a name="185" href="#185">185</a>                 {
<a name="186" href="#186">186</a>                     <strong>synchronized</strong>( writeQueue )
<a name="187" href="#187">187</a>                     {
<a name="188" href="#188">188</a>                         Object message = writeQueue.pop();
<a name="189" href="#189">189</a>                         <strong>if</strong>( message == <strong>null</strong> )
<a name="190" href="#190">190</a>                             <strong>break</strong>;
<a name="191" href="#191">191</a> 
<a name="192" href="#192">192</a>                         <a href="../../../../../org/apache/mina/util/Queue.html">Queue</a> queue = psession.encOut.getBufferQueue();
<a name="193" href="#193">193</a>                         encoder.encode( psession, message, psession.encOut );
<a name="194" href="#194">194</a>                         <strong>for</strong>( ;; )
<a name="195" href="#195">195</a>                         {
<a name="196" href="#196">196</a>                             <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> buf = ( ByteBuffer ) queue.pop();
<a name="197" href="#197">197</a>                             <strong>if</strong>( buf == <strong>null</strong> )
<a name="198" href="#198">198</a>                                 <strong>break</strong>;
<a name="199" href="#199">199</a>                             <em class="comment">// use marker only if it is the last ByteBuffer</em>
<a name="200" href="#200">200</a>                             Object marker = queue.isEmpty() ? message : <strong>null</strong>;
<a name="201" href="#201">201</a>                             session.write( buf, marker );
<a name="202" href="#202">202</a>                         }
<a name="203" href="#203">203</a>                     }
<a name="204" href="#204">204</a>                 }
<a name="205" href="#205">205</a>             }
<a name="206" href="#206">206</a>             <strong>catch</strong>( Throwable t )
<a name="207" href="#207">207</a>             {
<a name="208" href="#208">208</a>                 managerFilterChain.exceptionCaught( psession, t );
<a name="209" href="#209">209</a>             }
<a name="210" href="#210">210</a>         }
<a name="211" href="#211">211</a> 
<a name="212" href="#212">212</a>         <strong>private</strong> <a href="../../../../../org/apache/mina/protocol/io/IoProtocolSession.html">IoProtocolSession</a> getProtocolSession( IoSession session )
<a name="213" href="#213">213</a>         {
<a name="214" href="#214">214</a>             <a href="../../../../../org/apache/mina/protocol/io/IoProtocolSession.html">IoProtocolSession</a> psession =
<a name="215" href="#215">215</a>                 ( <a href="../../../../../org/apache/mina/protocol/io/IoProtocolSession.html">IoProtocolSession</a> ) session.getAttribute( KEY );
<a name="216" href="#216">216</a>             <strong>if</strong>( psession == <strong>null</strong> )
<a name="217" href="#217">217</a>             {
<a name="218" href="#218">218</a>                 <strong>synchronized</strong>( session )
<a name="219" href="#219">219</a>                 {
<a name="220" href="#220">220</a>                     psession =
<a name="221" href="#221">221</a>                         ( <a href="../../../../../org/apache/mina/protocol/io/IoProtocolSession.html">IoProtocolSession</a> ) session.getAttribute( KEY );
<a name="222" href="#222">222</a>                     <strong>if</strong>( psession == <strong>null</strong> )
<a name="223" href="#223">223</a>                     {
<a name="224" href="#224">224</a>                         psession = <strong>new</strong> <a href="../../../../../org/apache/mina/protocol/io/IoProtocolSession.html">IoProtocolSession</a>(
<a name="225" href="#225">225</a>                                 IoAdapter.<strong>this</strong>.managerFilterChain, session, <strong>this</strong> );
<a name="226" href="#226">226</a>                         session.setAttribute( KEY, psession );
<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> 
<a name="231" href="#231">231</a>             <strong>return</strong> psession;
<a name="232" href="#232">232</a>         }
<a name="233" href="#233">233</a>     }
<a name="234" href="#234">234</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

