<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>ProtocolCodecFilter xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/filter/codec/ProtocolCodecFilter.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> *    <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.filter.codec;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.net.SocketAddress;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Queue;
<a name="24" href="#24">24</a>  
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.file.FileRegion;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilter;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilterAdapter;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilterChain;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.DefaultWriteFuture;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.WriteFuture;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.AttributeKey;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.DefaultWriteRequest;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.NothingWrittenException;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteRequest;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteRequestWrapper;
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment">/**</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * An {@link IoFilter} which translates binary or protocol specific data into</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * message object and vice versa using {@link ProtocolCodecFactory},</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * {@link ProtocolEncoder}, or {@link ProtocolDecoder}.</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> *</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * @version $Rev: 671827 $, $Date: 2008-06-26 10:49:48 +0200 (jeu, 26 jun 2008) $</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> */</em>
<a name="49" href="#49">49</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolCodecFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html">IoFilterAdapter</a> {
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Class&lt;?&gt;[] EMPTY_PARAMS = <strong class="jxr_keyword">new</strong> Class[0];
<a name="52" href="#52">52</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> EMPTY_BUFFER = IoBuffer.wrap(<strong class="jxr_keyword">new</strong> byte[0]);
<a name="53" href="#53">53</a>  
<a name="54" href="#54">54</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a> ENCODER = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a>(getClass(), <span class="jxr_string">"encoder"</span>);
<a name="55" href="#55">55</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a> DECODER = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a>(getClass(), <span class="jxr_string">"decoder"</span>);
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a> DECODER_OUT = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a>(getClass(), <span class="jxr_string">"decoderOut"</span>);
<a name="57" href="#57">57</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFactory.html">ProtocolCodecFactory</a> factory;
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Logger logger = LoggerFactory.getLogger(getClass());
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolCodecFilter</a>(<a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFactory.html">ProtocolCodecFactory</a> factory) {
<a name="62" href="#62">62</a>          <strong class="jxr_keyword">if</strong> (factory == <strong class="jxr_keyword">null</strong>) {
<a name="63" href="#63">63</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"factory"</span>);
<a name="64" href="#64">64</a>          }
<a name="65" href="#65">65</a>          <strong class="jxr_keyword">this</strong>.factory = factory;
<a name="66" href="#66">66</a>      }
<a name="67" href="#67">67</a>  
<a name="68" href="#68">68</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolCodecFilter</a>(<strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolEncoder.html">ProtocolEncoder</a> encoder,
<a name="69" href="#69">69</a>              <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoder.html">ProtocolDecoder</a> decoder) {
<a name="70" href="#70">70</a>          <strong class="jxr_keyword">if</strong> (encoder == <strong class="jxr_keyword">null</strong>) {
<a name="71" href="#71">71</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"encoder"</span>);
<a name="72" href="#72">72</a>          }
<a name="73" href="#73">73</a>          <strong class="jxr_keyword">if</strong> (decoder == <strong class="jxr_keyword">null</strong>) {
<a name="74" href="#74">74</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"decoder"</span>);
<a name="75" href="#75">75</a>          }
<a name="76" href="#76">76</a>  
<a name="77" href="#77">77</a>          <strong class="jxr_keyword">this</strong>.factory = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFactory.html">ProtocolCodecFactory</a>() {
<a name="78" href="#78">78</a>              <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolEncoder.html">ProtocolEncoder</a> getEncoder(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="79" href="#79">79</a>                  <strong class="jxr_keyword">return</strong> encoder;
<a name="80" href="#80">80</a>              }
<a name="81" href="#81">81</a>  
<a name="82" href="#82">82</a>              <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoder.html">ProtocolDecoder</a> getDecoder(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="83" href="#83">83</a>                  <strong class="jxr_keyword">return</strong> decoder;
<a name="84" href="#84">84</a>              }
<a name="85" href="#85">85</a>          };
<a name="86" href="#86">86</a>      }
<a name="87" href="#87">87</a>  
<a name="88" href="#88">88</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolCodecFilter</a>(
<a name="89" href="#89">89</a>              <strong class="jxr_keyword">final</strong> Class&lt;? <strong class="jxr_keyword">extends</strong> ProtocolEncoder&gt; encoderClass,
<a name="90" href="#90">90</a>              <strong class="jxr_keyword">final</strong> Class&lt;? <strong class="jxr_keyword">extends</strong> ProtocolDecoder&gt; decoderClass) {
<a name="91" href="#91">91</a>          <strong class="jxr_keyword">if</strong> (encoderClass == <strong class="jxr_keyword">null</strong>) {
<a name="92" href="#92">92</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"encoderClass"</span>);
<a name="93" href="#93">93</a>          }
<a name="94" href="#94">94</a>          <strong class="jxr_keyword">if</strong> (decoderClass == <strong class="jxr_keyword">null</strong>) {
<a name="95" href="#95">95</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"decoderClass"</span>);
<a name="96" href="#96">96</a>          }
<a name="97" href="#97">97</a>          <strong class="jxr_keyword">if</strong> (!ProtocolEncoder.<strong class="jxr_keyword">class</strong>.isAssignableFrom(encoderClass)) {
<a name="98" href="#98">98</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"encoderClass: "</span>
<a name="99" href="#99">99</a>                      + encoderClass.getName());
<a name="100" href="#100">100</a>         }
<a name="101" href="#101">101</a>         <strong class="jxr_keyword">if</strong> (!ProtocolDecoder.<strong class="jxr_keyword">class</strong>.isAssignableFrom(decoderClass)) {
<a name="102" href="#102">102</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"decoderClass: "</span>
<a name="103" href="#103">103</a>                     + decoderClass.getName());
<a name="104" href="#104">104</a>         }
<a name="105" href="#105">105</a>         <strong class="jxr_keyword">try</strong> {
<a name="106" href="#106">106</a>             encoderClass.getConstructor(EMPTY_PARAMS);
<a name="107" href="#107">107</a>         } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) {
<a name="108" href="#108">108</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="109" href="#109">109</a>                     <span class="jxr_string">"encoderClass doesn't have a public default constructor."</span>);
<a name="110" href="#110">110</a>         }
<a name="111" href="#111">111</a>         <strong class="jxr_keyword">try</strong> {
<a name="112" href="#112">112</a>             decoderClass.getConstructor(EMPTY_PARAMS);
<a name="113" href="#113">113</a>         } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) {
<a name="114" href="#114">114</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="115" href="#115">115</a>                     <span class="jxr_string">"decoderClass doesn't have a public default constructor."</span>);
<a name="116" href="#116">116</a>         }
<a name="117" href="#117">117</a> 
<a name="118" href="#118">118</a>         <strong class="jxr_keyword">this</strong>.factory = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFactory.html">ProtocolCodecFactory</a>() {
<a name="119" href="#119">119</a>             <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolEncoder.html">ProtocolEncoder</a> getEncoder(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) <strong class="jxr_keyword">throws</strong> Exception {
<a name="120" href="#120">120</a>                 <strong class="jxr_keyword">return</strong> encoderClass.newInstance();
<a name="121" href="#121">121</a>             }
<a name="122" href="#122">122</a> 
<a name="123" href="#123">123</a>             <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoder.html">ProtocolDecoder</a> getDecoder(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) <strong class="jxr_keyword">throws</strong> Exception {
<a name="124" href="#124">124</a>                 <strong class="jxr_keyword">return</strong> decoderClass.newInstance();
<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> 
<a name="129" href="#129">129</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolEncoder.html">ProtocolEncoder</a> getEncoder(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="130" href="#130">130</a>         <strong class="jxr_keyword">return</strong> (ProtocolEncoder) session.getAttribute(ENCODER);
<a name="131" href="#131">131</a>     }
<a name="132" href="#132">132</a> 
<a name="133" href="#133">133</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoder.html">ProtocolDecoder</a> getDecoder(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="134" href="#134">134</a>         <strong class="jxr_keyword">return</strong> (ProtocolDecoder) session.getAttribute(DECODER);
<a name="135" href="#135">135</a>     }
<a name="136" href="#136">136</a> 
<a name="137" href="#137">137</a>     @Override
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onPreAdd(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">IoFilterChain</a> parent, String name,
<a name="139" href="#139">139</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter) <strong class="jxr_keyword">throws</strong> Exception {
<a name="140" href="#140">140</a>         <strong class="jxr_keyword">if</strong> (parent.contains(<strong class="jxr_keyword">this</strong>)) {
<a name="141" href="#141">141</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="142" href="#142">142</a>                     <span class="jxr_string">"You can't add the same filter instance more than once.  Create another instance and add it."</span>);
<a name="143" href="#143">143</a>         }
<a name="144" href="#144">144</a>     }
<a name="145" href="#145">145</a> 
<a name="146" href="#146">146</a>     @Override
<a name="147" href="#147">147</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onPostRemove(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">IoFilterChain</a> parent, String name,
<a name="148" href="#148">148</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter) <strong class="jxr_keyword">throws</strong> Exception {
<a name="149" href="#149">149</a>         disposeEncoder(parent.getSession());
<a name="150" href="#150">150</a>         disposeDecoder(parent.getSession());
<a name="151" href="#151">151</a>         disposeDecoderOut(parent.getSession());
<a name="152" href="#152">152</a>     }
<a name="153" href="#153">153</a> 
<a name="154" href="#154">154</a>     @Override
<a name="155" href="#155">155</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageReceived(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="156" href="#156">156</a>             Object message) <strong class="jxr_keyword">throws</strong> Exception {
<a name="157" href="#157">157</a>         <strong class="jxr_keyword">if</strong> (!(message instanceof IoBuffer)) {
<a name="158" href="#158">158</a>             nextFilter.messageReceived(session, message);
<a name="159" href="#159">159</a>             <strong class="jxr_keyword">return</strong>;
<a name="160" href="#160">160</a>         }
<a name="161" href="#161">161</a> 
<a name="162" href="#162">162</a>         <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> in = (IoBuffer) message;
<a name="163" href="#163">163</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoder.html">ProtocolDecoder</a> decoder = getDecoder0(session);
<a name="164" href="#164">164</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoderOutput.html">ProtocolDecoderOutput</a> decoderOut = getDecoderOut(session, nextFilter);
<a name="165" href="#165">165</a> 
<a name="166" href="#166">166</a>         <strong class="jxr_keyword">while</strong> (in.hasRemaining()) {
<a name="167" href="#167">167</a>             <strong class="jxr_keyword">int</strong> oldPos = in.position();
<a name="168" href="#168">168</a>             <strong class="jxr_keyword">try</strong> {
<a name="169" href="#169">169</a>                 <strong class="jxr_keyword">synchronized</strong> (decoderOut) {
<a name="170" href="#170">170</a>                     decoder.decode(session, in, decoderOut);
<a name="171" href="#171">171</a>                 }
<a name="172" href="#172">172</a>                 <em class="jxr_comment">// Finish decoding if no exception was thrown.</em>
<a name="173" href="#173">173</a>                 decoderOut.flush();
<a name="174" href="#174">174</a>                 <strong class="jxr_keyword">break</strong>;
<a name="175" href="#175">175</a>             } <strong class="jxr_keyword">catch</strong> (Throwable t) {
<a name="176" href="#176">176</a>                 <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoderException.html">ProtocolDecoderException</a> pde;
<a name="177" href="#177">177</a>                 <strong class="jxr_keyword">if</strong> (t instanceof ProtocolDecoderException) {
<a name="178" href="#178">178</a>                     pde = (ProtocolDecoderException) t;
<a name="179" href="#179">179</a>                 } <strong class="jxr_keyword">else</strong> {
<a name="180" href="#180">180</a>                     pde = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoderException.html">ProtocolDecoderException</a>(t);
<a name="181" href="#181">181</a>                 }
<a name="182" href="#182">182</a>                 
<a name="183" href="#183">183</a>                 <strong class="jxr_keyword">if</strong> (pde.getHexdump() == <strong class="jxr_keyword">null</strong>) {
<a name="184" href="#184">184</a>                     <strong class="jxr_keyword">int</strong> curPos = in.position();
<a name="185" href="#185">185</a>                     in.position(oldPos);
<a name="186" href="#186">186</a>                     pde.setHexdump(in.getHexDump());
<a name="187" href="#187">187</a>                     in.position(curPos);
<a name="188" href="#188">188</a>                 }
<a name="189" href="#189">189</a> 
<a name="190" href="#190">190</a>                 <em class="jxr_comment">// Fire the exceptionCaught event.</em>
<a name="191" href="#191">191</a>                 decoderOut.flush();
<a name="192" href="#192">192</a>                 nextFilter.exceptionCaught(session, pde);
<a name="193" href="#193">193</a> 
<a name="194" href="#194">194</a>                 <em class="jxr_comment">// Retry only if the type of the caught exception is</em>
<a name="195" href="#195">195</a>                 <em class="jxr_comment">// recoverable and the buffer position has changed.</em>
<a name="196" href="#196">196</a>                 <em class="jxr_comment">// We check buffer position additionally to prevent an</em>
<a name="197" href="#197">197</a>                 <em class="jxr_comment">// infinite loop.</em>
<a name="198" href="#198">198</a>                 <strong class="jxr_keyword">if</strong> (!(t instanceof RecoverableProtocolDecoderException) ||
<a name="199" href="#199">199</a>                         in.position() == oldPos) {
<a name="200" href="#200">200</a>                     <strong class="jxr_keyword">break</strong>;
<a name="201" href="#201">201</a>                 }
<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>     @Override
<a name="207" href="#207">207</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageSent(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="208" href="#208">208</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) <strong class="jxr_keyword">throws</strong> Exception {
<a name="209" href="#209">209</a>         <strong class="jxr_keyword">if</strong> (writeRequest instanceof EncodedWriteRequest) {
<a name="210" href="#210">210</a>             <strong class="jxr_keyword">return</strong>;
<a name="211" href="#211">211</a>         }
<a name="212" href="#212">212</a> 
<a name="213" href="#213">213</a>         <strong class="jxr_keyword">if</strong> (!(writeRequest instanceof MessageWriteRequest)) {
<a name="214" href="#214">214</a>             nextFilter.messageSent(session, writeRequest);
<a name="215" href="#215">215</a>             <strong class="jxr_keyword">return</strong>;
<a name="216" href="#216">216</a>         }
<a name="217" href="#217">217</a> 
<a name="218" href="#218">218</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">MessageWriteRequest</a> wrappedRequest = (MessageWriteRequest) writeRequest;
<a name="219" href="#219">219</a>         nextFilter.messageSent(session, wrappedRequest.getParentRequest());
<a name="220" href="#220">220</a>     }
<a name="221" href="#221">221</a> 
<a name="222" href="#222">222</a>     @Override
<a name="223" href="#223">223</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterWrite(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="224" href="#224">224</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) <strong class="jxr_keyword">throws</strong> Exception {
<a name="225" href="#225">225</a>         Object message = writeRequest.getMessage();
<a name="226" href="#226">226</a>         <strong class="jxr_keyword">if</strong> (message instanceof IoBuffer || message instanceof FileRegion) {
<a name="227" href="#227">227</a>             nextFilter.filterWrite(session, writeRequest);
<a name="228" href="#228">228</a>             <strong class="jxr_keyword">return</strong>;
<a name="229" href="#229">229</a>         }
<a name="230" href="#230">230</a> 
<a name="231" href="#231">231</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolEncoder.html">ProtocolEncoder</a> encoder = getEncoder0(session);
<a name="232" href="#232">232</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolEncoderOutputImpl</a> encoderOut = getEncoderOut(session,
<a name="233" href="#233">233</a>                 nextFilter, writeRequest);
<a name="234" href="#234">234</a> 
<a name="235" href="#235">235</a>         <strong class="jxr_keyword">try</strong> {
<a name="236" href="#236">236</a>             encoder.encode(session, message, encoderOut);
<a name="237" href="#237">237</a>             encoderOut.flushWithoutFuture();
<a name="238" href="#238">238</a>             nextFilter.filterWrite(session, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">MessageWriteRequest</a>(
<a name="239" href="#239">239</a>                     writeRequest));
<a name="240" href="#240">240</a>         } <strong class="jxr_keyword">catch</strong> (Throwable t) {
<a name="241" href="#241">241</a>             <a href="../../../../../org/apache/mina/filter/codec/ProtocolEncoderException.html">ProtocolEncoderException</a> pee;
<a name="242" href="#242">242</a>             <strong class="jxr_keyword">if</strong> (t instanceof ProtocolEncoderException) {
<a name="243" href="#243">243</a>                 pee = (ProtocolEncoderException) t;
<a name="244" href="#244">244</a>             } <strong class="jxr_keyword">else</strong> {
<a name="245" href="#245">245</a>                 pee = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolEncoderException.html">ProtocolEncoderException</a>(t);
<a name="246" href="#246">246</a>             }
<a name="247" href="#247">247</a>             <strong class="jxr_keyword">throw</strong> pee;
<a name="248" href="#248">248</a>         }
<a name="249" href="#249">249</a>     }
<a name="250" href="#250">250</a> 
<a name="251" href="#251">251</a>     @Override
<a name="252" href="#252">252</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionClosed(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session)
<a name="253" href="#253">253</a>             <strong class="jxr_keyword">throws</strong> Exception {
<a name="254" href="#254">254</a>         <em class="jxr_comment">// Call finishDecode() first when a connection is closed.</em>
<a name="255" href="#255">255</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoder.html">ProtocolDecoder</a> decoder = getDecoder0(session);
<a name="256" href="#256">256</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoderOutput.html">ProtocolDecoderOutput</a> decoderOut = getDecoderOut(session, nextFilter);
<a name="257" href="#257">257</a>         <strong class="jxr_keyword">try</strong> {
<a name="258" href="#258">258</a>             decoder.finishDecode(session, decoderOut);
<a name="259" href="#259">259</a>         } <strong class="jxr_keyword">catch</strong> (Throwable t) {
<a name="260" href="#260">260</a>             <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoderException.html">ProtocolDecoderException</a> pde;
<a name="261" href="#261">261</a>             <strong class="jxr_keyword">if</strong> (t instanceof ProtocolDecoderException) {
<a name="262" href="#262">262</a>                 pde = (ProtocolDecoderException) t;
<a name="263" href="#263">263</a>             } <strong class="jxr_keyword">else</strong> {
<a name="264" href="#264">264</a>                 pde = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoderException.html">ProtocolDecoderException</a>(t);
<a name="265" href="#265">265</a>             }
<a name="266" href="#266">266</a>             <strong class="jxr_keyword">throw</strong> pde;
<a name="267" href="#267">267</a>         } <strong class="jxr_keyword">finally</strong> {
<a name="268" href="#268">268</a>             <em class="jxr_comment">// Dispose all.</em>
<a name="269" href="#269">269</a>             disposeEncoder(session);
<a name="270" href="#270">270</a>             disposeDecoder(session);
<a name="271" href="#271">271</a>             disposeDecoderOut(session);
<a name="272" href="#272">272</a>             decoderOut.flush();
<a name="273" href="#273">273</a>         }
<a name="274" href="#274">274</a> 
<a name="275" href="#275">275</a>         nextFilter.sessionClosed(session);
<a name="276" href="#276">276</a>     }
<a name="277" href="#277">277</a> 
<a name="278" href="#278">278</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolEncoder.html">ProtocolEncoder</a> getEncoder0(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) <strong class="jxr_keyword">throws</strong> Exception {
<a name="279" href="#279">279</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolEncoder.html">ProtocolEncoder</a> encoder = (ProtocolEncoder) session
<a name="280" href="#280">280</a>                 .getAttribute(ENCODER);
<a name="281" href="#281">281</a>         <strong class="jxr_keyword">if</strong> (encoder == <strong class="jxr_keyword">null</strong>) {
<a name="282" href="#282">282</a>             encoder = factory.getEncoder(session);
<a name="283" href="#283">283</a>             session.setAttribute(ENCODER, encoder);
<a name="284" href="#284">284</a>         }
<a name="285" href="#285">285</a>         <strong class="jxr_keyword">return</strong> encoder;
<a name="286" href="#286">286</a>     }
<a name="287" href="#287">287</a> 
<a name="288" href="#288">288</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolEncoderOutputImpl</a> getEncoderOut(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="289" href="#289">289</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="290" href="#290">290</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolEncoderOutputImpl</a>(session, nextFilter, writeRequest);
<a name="291" href="#291">291</a>     }
<a name="292" href="#292">292</a> 
<a name="293" href="#293">293</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoder.html">ProtocolDecoder</a> getDecoder0(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) <strong class="jxr_keyword">throws</strong> Exception {
<a name="294" href="#294">294</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoder.html">ProtocolDecoder</a> decoder = (ProtocolDecoder) session
<a name="295" href="#295">295</a>                 .getAttribute(DECODER);
<a name="296" href="#296">296</a>         <strong class="jxr_keyword">if</strong> (decoder == <strong class="jxr_keyword">null</strong>) {
<a name="297" href="#297">297</a>             decoder = factory.getDecoder(session);
<a name="298" href="#298">298</a>             session.setAttribute(DECODER, decoder);
<a name="299" href="#299">299</a>         }
<a name="300" href="#300">300</a>         <strong class="jxr_keyword">return</strong> decoder;
<a name="301" href="#301">301</a>     }
<a name="302" href="#302">302</a> 
<a name="303" href="#303">303</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoderOutput.html">ProtocolDecoderOutput</a> getDecoderOut(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="304" href="#304">304</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter) {
<a name="305" href="#305">305</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoderOutput.html">ProtocolDecoderOutput</a> out = (ProtocolDecoderOutput) session.getAttribute(DECODER_OUT);
<a name="306" href="#306">306</a>         <strong class="jxr_keyword">if</strong> (out == <strong class="jxr_keyword">null</strong>) {
<a name="307" href="#307">307</a>             out = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolDecoderOutputImpl</a>(session, nextFilter);
<a name="308" href="#308">308</a>             session.setAttribute(DECODER_OUT, out);
<a name="309" href="#309">309</a>         }
<a name="310" href="#310">310</a>         <strong class="jxr_keyword">return</strong> out;
<a name="311" href="#311">311</a>     }
<a name="312" href="#312">312</a> 
<a name="313" href="#313">313</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> disposeEncoder(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="314" href="#314">314</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolEncoder.html">ProtocolEncoder</a> encoder = (ProtocolEncoder) session
<a name="315" href="#315">315</a>                 .removeAttribute(ENCODER);
<a name="316" href="#316">316</a>         <strong class="jxr_keyword">if</strong> (encoder == <strong class="jxr_keyword">null</strong>) {
<a name="317" href="#317">317</a>             <strong class="jxr_keyword">return</strong>;
<a name="318" href="#318">318</a>         }
<a name="319" href="#319">319</a> 
<a name="320" href="#320">320</a>         <strong class="jxr_keyword">try</strong> {
<a name="321" href="#321">321</a>             encoder.dispose(session);
<a name="322" href="#322">322</a>         } <strong class="jxr_keyword">catch</strong> (Throwable t) {
<a name="323" href="#323">323</a>             logger.warn(
<a name="324" href="#324">324</a>                     <span class="jxr_string">"Failed to dispose: "</span> + encoder.getClass().getName() + <span class="jxr_string">" ("</span> + encoder + ')');
<a name="325" href="#325">325</a>         }
<a name="326" href="#326">326</a>     }
<a name="327" href="#327">327</a> 
<a name="328" href="#328">328</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> disposeDecoder(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="329" href="#329">329</a>         <a href="../../../../../org/apache/mina/filter/codec/ProtocolDecoder.html">ProtocolDecoder</a> decoder = (ProtocolDecoder) session
<a name="330" href="#330">330</a>                 .removeAttribute(DECODER);
<a name="331" href="#331">331</a>         <strong class="jxr_keyword">if</strong> (decoder == <strong class="jxr_keyword">null</strong>) {
<a name="332" href="#332">332</a>             <strong class="jxr_keyword">return</strong>;
<a name="333" href="#333">333</a>         }
<a name="334" href="#334">334</a> 
<a name="335" href="#335">335</a>         <strong class="jxr_keyword">try</strong> {
<a name="336" href="#336">336</a>             decoder.dispose(session);
<a name="337" href="#337">337</a>         } <strong class="jxr_keyword">catch</strong> (Throwable t) {
<a name="338" href="#338">338</a>             logger.warn(
<a name="339" href="#339">339</a>                     <span class="jxr_string">"Falied to dispose: "</span> + decoder.getClass().getName() + <span class="jxr_string">" ("</span> + decoder + ')');
<a name="340" href="#340">340</a>         }
<a name="341" href="#341">341</a>     }
<a name="342" href="#342">342</a> 
<a name="343" href="#343">343</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> disposeDecoderOut(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="344" href="#344">344</a>         session.removeAttribute(DECODER_OUT);
<a name="345" href="#345">345</a>     }
<a name="346" href="#346">346</a> 
<a name="347" href="#347">347</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">EncodedWriteRequest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/core/write/DefaultWriteRequest.html">DefaultWriteRequest</a> {
<a name="348" href="#348">348</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">EncodedWriteRequest</a>(Object encodedMessage,
<a name="349" href="#349">349</a>                 <a href="../../../../../org/apache/mina/core/future/WriteFuture.html">WriteFuture</a> future, SocketAddress destination) {
<a name="350" href="#350">350</a>             <strong class="jxr_keyword">super</strong>(encodedMessage, future, destination);
<a name="351" href="#351">351</a>         }
<a name="352" href="#352">352</a>     }
<a name="353" href="#353">353</a> 
<a name="354" href="#354">354</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">MessageWriteRequest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/core/write/WriteRequestWrapper.html">WriteRequestWrapper</a> {
<a name="355" href="#355">355</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">MessageWriteRequest</a>(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="356" href="#356">356</a>             <strong class="jxr_keyword">super</strong>(writeRequest);
<a name="357" href="#357">357</a>         }
<a name="358" href="#358">358</a> 
<a name="359" href="#359">359</a>         @Override
<a name="360" href="#360">360</a>         <strong class="jxr_keyword">public</strong> Object getMessage() {
<a name="361" href="#361">361</a>             <strong class="jxr_keyword">return</strong> EMPTY_BUFFER;
<a name="362" href="#362">362</a>         }
<a name="363" href="#363">363</a>     }
<a name="364" href="#364">364</a> 
<a name="365" href="#365">365</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolDecoderOutputImpl</a> <strong class="jxr_keyword">extends</strong>
<a name="366" href="#366">366</a>             <a href="../../../../../org/apache/mina/filter/codec/AbstractProtocolDecoderOutput.html">AbstractProtocolDecoderOutput</a> {
<a name="367" href="#367">367</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session;
<a name="368" href="#368">368</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter;
<a name="369" href="#369">369</a> 
<a name="370" href="#370">370</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolDecoderOutputImpl</a>(
<a name="371" href="#371">371</a>                 <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter) {
<a name="372" href="#372">372</a>             <strong class="jxr_keyword">this</strong>.session = session;
<a name="373" href="#373">373</a>             <strong class="jxr_keyword">this</strong>.nextFilter = nextFilter;
<a name="374" href="#374">374</a>         }
<a name="375" href="#375">375</a> 
<a name="376" href="#376">376</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> flush() {
<a name="377" href="#377">377</a>             Queue&lt;Object&gt; messageQueue = getMessageQueue();
<a name="378" href="#378">378</a>             <strong class="jxr_keyword">while</strong> (!messageQueue.isEmpty()) {
<a name="379" href="#379">379</a>                 nextFilter.messageReceived(session, messageQueue.poll());
<a name="380" href="#380">380</a>             }
<a name="381" href="#381">381</a>         }
<a name="382" href="#382">382</a>     }
<a name="383" href="#383">383</a> 
<a name="384" href="#384">384</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolEncoderOutputImpl</a> <strong class="jxr_keyword">extends</strong>
<a name="385" href="#385">385</a>             <a href="../../../../../org/apache/mina/filter/codec/AbstractProtocolEncoderOutput.html">AbstractProtocolEncoderOutput</a> {
<a name="386" href="#386">386</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session;
<a name="387" href="#387">387</a> 
<a name="388" href="#388">388</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter;
<a name="389" href="#389">389</a> 
<a name="390" href="#390">390</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest;
<a name="391" href="#391">391</a> 
<a name="392" href="#392">392</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">ProtocolEncoderOutputImpl</a>(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="393" href="#393">393</a>                 <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="394" href="#394">394</a>             <strong class="jxr_keyword">this</strong>.session = session;
<a name="395" href="#395">395</a>             <strong class="jxr_keyword">this</strong>.nextFilter = nextFilter;
<a name="396" href="#396">396</a>             <strong class="jxr_keyword">this</strong>.writeRequest = writeRequest;
<a name="397" href="#397">397</a>         }
<a name="398" href="#398">398</a> 
<a name="399" href="#399">399</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/future/WriteFuture.html">WriteFuture</a> flush() {
<a name="400" href="#400">400</a>             Queue&lt;Object&gt; bufferQueue = getMessageQueue();
<a name="401" href="#401">401</a>             <a href="../../../../../org/apache/mina/core/future/WriteFuture.html">WriteFuture</a> future = <strong class="jxr_keyword">null</strong>;
<a name="402" href="#402">402</a>             <strong class="jxr_keyword">for</strong> (;;) {
<a name="403" href="#403">403</a>                 Object encodedMessage = bufferQueue.poll();
<a name="404" href="#404">404</a>                 <strong class="jxr_keyword">if</strong> (encodedMessage == <strong class="jxr_keyword">null</strong>) {
<a name="405" href="#405">405</a>                     <strong class="jxr_keyword">break</strong>;
<a name="406" href="#406">406</a>                 }
<a name="407" href="#407">407</a> 
<a name="408" href="#408">408</a>                 <em class="jxr_comment">// Flush only when the buffer has remaining.</em>
<a name="409" href="#409">409</a>                 <strong class="jxr_keyword">if</strong> (!(encodedMessage instanceof IoBuffer) ||
<a name="410" href="#410">410</a>                         ((<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a>) encodedMessage).hasRemaining()) {
<a name="411" href="#411">411</a>                     future = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/future/DefaultWriteFuture.html">DefaultWriteFuture</a>(session);
<a name="412" href="#412">412</a>                     nextFilter.filterWrite(session, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">EncodedWriteRequest</a>(encodedMessage,
<a name="413" href="#413">413</a>                             future, writeRequest.getDestination()));
<a name="414" href="#414">414</a>                 }
<a name="415" href="#415">415</a>             }
<a name="416" href="#416">416</a> 
<a name="417" href="#417">417</a>             <strong class="jxr_keyword">if</strong> (future == <strong class="jxr_keyword">null</strong>) {
<a name="418" href="#418">418</a>                 future = DefaultWriteFuture.newNotWrittenFuture(
<a name="419" href="#419">419</a>                         session, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/write/NothingWrittenException.html">NothingWrittenException</a>(writeRequest));
<a name="420" href="#420">420</a>             }
<a name="421" href="#421">421</a> 
<a name="422" href="#422">422</a>             <strong class="jxr_keyword">return</strong> future;
<a name="423" href="#423">423</a>         }
<a name="424" href="#424">424</a>         
<a name="425" href="#425">425</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> flushWithoutFuture() {
<a name="426" href="#426">426</a>             Queue&lt;Object&gt; bufferQueue = getMessageQueue();
<a name="427" href="#427">427</a>             <strong class="jxr_keyword">for</strong> (;;) {
<a name="428" href="#428">428</a>                 Object encodedMessage = bufferQueue.poll();
<a name="429" href="#429">429</a>                 <strong class="jxr_keyword">if</strong> (encodedMessage == <strong class="jxr_keyword">null</strong>) {
<a name="430" href="#430">430</a>                     <strong class="jxr_keyword">break</strong>;
<a name="431" href="#431">431</a>                 }
<a name="432" href="#432">432</a> 
<a name="433" href="#433">433</a>                 <em class="jxr_comment">// Flush only when the buffer has remaining.</em>
<a name="434" href="#434">434</a>                 <strong class="jxr_keyword">if</strong> (!(encodedMessage instanceof IoBuffer) ||
<a name="435" href="#435">435</a>                         ((<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a>) encodedMessage).hasRemaining()) {
<a name="436" href="#436">436</a>                     nextFilter.filterWrite(
<a name="437" href="#437">437</a>                             session, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html">EncodedWriteRequest</a>(
<a name="438" href="#438">438</a>                                     encodedMessage, <strong class="jxr_keyword">null</strong>, writeRequest.getDestination()));
<a name="439" href="#439">439</a>                 }
<a name="440" href="#440">440</a>             }
<a name="441" href="#441">441</a>         }
<a name="442" href="#442">442</a>     }
<a name="443" href="#443">443</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

