<!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>DefaultIoFilterChain xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/core/filterchain/DefaultIoFilterChain.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.core.filterchain;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilter.NextFilter;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.ConnectFuture;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.IoFuture;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.AbstractIoSession;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.AttributeKey;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IdleStatus;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<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.slf4j.Logger;
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a name="39" href="#39">39</a>  
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment">/**</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * A default implementation of {@link IoFilterChain} that provides</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * all operations for developers who want to implement their own</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * transport layer once used with {@link AbstractIoSession}.</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> *</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * @version $Rev: 637741 $, $Date: 2008-03-17 07:39:20 +0100 (Mon, 17 Mar 2008) $</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> */</em>
<a name="48" href="#48">48</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">DefaultIoFilterChain</a> implements <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">IoFilterChain</a> {
<a name="49" href="#49">49</a>      <em class="jxr_javadoccomment">/**</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment">     * A session attribute that stores an {@link IoFuture} related with</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment">     * the {@link IoSession}.  {@link DefaultIoFilterChain} clears this</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment">     * attribute and notifies the future when {@link #fireSessionCreated()}</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment">     * or {@link #fireExceptionCaught(Throwable)} is invoked.</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment">     */</em>
<a name="55" href="#55">55</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a> SESSION_CREATED_FUTURE = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a>(
<a name="56" href="#56">56</a>              DefaultIoFilterChain.<strong class="jxr_keyword">class</strong>, <span class="jxr_string">"connectFuture"</span>);
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The associated session */</em>
<a name="59" href="#59">59</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> session;
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map&lt;String, Entry&gt; name2entry = <strong class="jxr_keyword">new</strong> HashMap&lt;String, Entry&gt;();
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The chain head */</em>
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> head;
<a name="65" href="#65">65</a>  
<a name="66" href="#66">66</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The chain tail */</em>
<a name="67" href="#67">67</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> tail;
<a name="68" href="#68">68</a>  
<a name="69" href="#69">69</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The logger for this class */</em>
<a name="70" href="#70">70</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Logger logger = LoggerFactory.getLogger(getClass());
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>      
<a name="73" href="#73">73</a>      <em class="jxr_javadoccomment">/**</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     * Create a new default chain, associated with a session. It will only contain a </em>
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment">     * HeadFilter and a TailFilter.</em>
<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment">     * </em>
<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment">     * @param session The session associated with the created filter chain</em>
<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment">     */</em>
<a name="79" href="#79">79</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">DefaultIoFilterChain</a>(<a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> session) {
<a name="80" href="#80">80</a>          <strong class="jxr_keyword">if</strong> (session == <strong class="jxr_keyword">null</strong>) {
<a name="81" href="#81">81</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"session"</span>);
<a name="82" href="#82">82</a>          }
<a name="83" href="#83">83</a>  
<a name="84" href="#84">84</a>          <strong class="jxr_keyword">this</strong>.session = session;
<a name="85" href="#85">85</a>          head = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a>(<strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"head"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">HeadFilter</a>());
<a name="86" href="#86">86</a>          tail = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a>(head, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"tail"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">TailFilter</a>());
<a name="87" href="#87">87</a>          head.nextEntry = tail;
<a name="88" href="#88">88</a>      }
<a name="89" href="#89">89</a>  
<a name="90" href="#90">90</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> getSession() {
<a name="91" href="#91">91</a>          <strong class="jxr_keyword">return</strong> session;
<a name="92" href="#92">92</a>      }
<a name="93" href="#93">93</a>  
<a name="94" href="#94">94</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> getEntry(String name) {
<a name="95" href="#95">95</a>          <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = name2entry.get(name);
<a name="96" href="#96">96</a>          <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="97" href="#97">97</a>              <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="98" href="#98">98</a>          }
<a name="99" href="#99">99</a>          <strong class="jxr_keyword">return</strong> e;
<a name="100" href="#100">100</a>     }
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> getEntry(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="103" href="#103">103</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="104" href="#104">104</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="105" href="#105">105</a>             <strong class="jxr_keyword">if</strong> (e.getFilter() == filter) {
<a name="106" href="#106">106</a>                 <strong class="jxr_keyword">return</strong> e;
<a name="107" href="#107">107</a>             }
<a name="108" href="#108">108</a>             e = e.nextEntry;
<a name="109" href="#109">109</a>         }
<a name="110" href="#110">110</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="111" href="#111">111</a>     }
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> getEntry(Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; filterType) {
<a name="114" href="#114">114</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="115" href="#115">115</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="116" href="#116">116</a>             <strong class="jxr_keyword">if</strong> (filterType.isAssignableFrom(e.getFilter().getClass())) {
<a name="117" href="#117">117</a>                 <strong class="jxr_keyword">return</strong> e;
<a name="118" href="#118">118</a>             }
<a name="119" href="#119">119</a>             e = e.nextEntry;
<a name="120" href="#120">120</a>         }
<a name="121" href="#121">121</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="122" href="#122">122</a>     }
<a name="123" href="#123">123</a> 
<a name="124" href="#124">124</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> get(String name) {
<a name="125" href="#125">125</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = getEntry(name);
<a name="126" href="#126">126</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="127" href="#127">127</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="128" href="#128">128</a>         }
<a name="129" href="#129">129</a> 
<a name="130" href="#130">130</a>         <strong class="jxr_keyword">return</strong> e.getFilter();
<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/core/filterchain/IoFilter.html">IoFilter</a> get(Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; filterType) {
<a name="134" href="#134">134</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = getEntry(filterType);
<a name="135" href="#135">135</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="136" href="#136">136</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="137" href="#137">137</a>         }
<a name="138" href="#138">138</a> 
<a name="139" href="#139">139</a>         <strong class="jxr_keyword">return</strong> e.getFilter();
<a name="140" href="#140">140</a>     }
<a name="141" href="#141">141</a> 
<a name="142" href="#142">142</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> getNextFilter(String name) {
<a name="143" href="#143">143</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = getEntry(name);
<a name="144" href="#144">144</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="145" href="#145">145</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="146" href="#146">146</a>         }
<a name="147" href="#147">147</a> 
<a name="148" href="#148">148</a>         <strong class="jxr_keyword">return</strong> e.getNextFilter();
<a name="149" href="#149">149</a>     }
<a name="150" href="#150">150</a> 
<a name="151" href="#151">151</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> getNextFilter(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="152" href="#152">152</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = getEntry(filter);
<a name="153" href="#153">153</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="154" href="#154">154</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="155" href="#155">155</a>         }
<a name="156" href="#156">156</a> 
<a name="157" href="#157">157</a>         <strong class="jxr_keyword">return</strong> e.getNextFilter();
<a name="158" href="#158">158</a>     }
<a name="159" href="#159">159</a> 
<a name="160" href="#160">160</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> getNextFilter(Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; filterType) {
<a name="161" href="#161">161</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = getEntry(filterType);
<a name="162" href="#162">162</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="163" href="#163">163</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="164" href="#164">164</a>         }
<a name="165" href="#165">165</a> 
<a name="166" href="#166">166</a>         <strong class="jxr_keyword">return</strong> e.getNextFilter();
<a name="167" href="#167">167</a>     }
<a name="168" href="#168">168</a> 
<a name="169" href="#169">169</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> addFirst(String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="170" href="#170">170</a>         checkAddable(name);
<a name="171" href="#171">171</a>         register(head, name, filter);
<a name="172" href="#172">172</a>     }
<a name="173" href="#173">173</a> 
<a name="174" href="#174">174</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> addLast(String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="175" href="#175">175</a>         checkAddable(name);
<a name="176" href="#176">176</a>         register(tail.prevEntry, name, filter);
<a name="177" href="#177">177</a>     }
<a name="178" href="#178">178</a> 
<a name="179" href="#179">179</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> addBefore(String baseName, String name,
<a name="180" href="#180">180</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="181" href="#181">181</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> baseEntry = checkOldName(baseName);
<a name="182" href="#182">182</a>         checkAddable(name);
<a name="183" href="#183">183</a>         register(baseEntry.prevEntry, name, filter);
<a name="184" href="#184">184</a>     }
<a name="185" href="#185">185</a> 
<a name="186" href="#186">186</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> addAfter(String baseName, String name,
<a name="187" href="#187">187</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="188" href="#188">188</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> baseEntry = checkOldName(baseName);
<a name="189" href="#189">189</a>         checkAddable(name);
<a name="190" href="#190">190</a>         register(baseEntry, name, filter);
<a name="191" href="#191">191</a>     }
<a name="192" href="#192">192</a> 
<a name="193" href="#193">193</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> remove(String name) {
<a name="194" href="#194">194</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> entry = checkOldName(name);
<a name="195" href="#195">195</a>         deregister(entry);
<a name="196" href="#196">196</a>         <strong class="jxr_keyword">return</strong> entry.getFilter();
<a name="197" href="#197">197</a>     }
<a name="198" href="#198">198</a> 
<a name="199" href="#199">199</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> remove(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="200" href="#200">200</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="201" href="#201">201</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="202" href="#202">202</a>             <strong class="jxr_keyword">if</strong> (e.getFilter() == filter) {
<a name="203" href="#203">203</a>                 deregister(e);
<a name="204" href="#204">204</a>                 <strong class="jxr_keyword">return</strong>;
<a name="205" href="#205">205</a>             }
<a name="206" href="#206">206</a>             e = e.nextEntry;
<a name="207" href="#207">207</a>         }
<a name="208" href="#208">208</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Filter not found: "</span>
<a name="209" href="#209">209</a>                 + filter.getClass().getName());
<a name="210" href="#210">210</a>     }
<a name="211" href="#211">211</a> 
<a name="212" href="#212">212</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> remove(Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; filterType) {
<a name="213" href="#213">213</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="214" href="#214">214</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="215" href="#215">215</a>             <strong class="jxr_keyword">if</strong> (filterType.isAssignableFrom(e.getFilter().getClass())) {
<a name="216" href="#216">216</a>                 <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> oldFilter = e.getFilter();
<a name="217" href="#217">217</a>                 deregister(e);
<a name="218" href="#218">218</a>                 <strong class="jxr_keyword">return</strong> oldFilter;
<a name="219" href="#219">219</a>             }
<a name="220" href="#220">220</a>             e = e.nextEntry;
<a name="221" href="#221">221</a>         }
<a name="222" href="#222">222</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Filter not found: "</span>
<a name="223" href="#223">223</a>                 + filterType.getName());
<a name="224" href="#224">224</a>     }
<a name="225" href="#225">225</a> 
<a name="226" href="#226">226</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> replace(String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> newFilter) {
<a name="227" href="#227">227</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> entry = checkOldName(name);
<a name="228" href="#228">228</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> oldFilter = entry.getFilter();
<a name="229" href="#229">229</a>         entry.setFilter(newFilter);
<a name="230" href="#230">230</a>         <strong class="jxr_keyword">return</strong> oldFilter;
<a name="231" href="#231">231</a>     }
<a name="232" href="#232">232</a> 
<a name="233" href="#233">233</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> replace(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> oldFilter, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> newFilter) {
<a name="234" href="#234">234</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="235" href="#235">235</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="236" href="#236">236</a>             <strong class="jxr_keyword">if</strong> (e.getFilter() == oldFilter) {
<a name="237" href="#237">237</a>                 e.setFilter(newFilter);
<a name="238" href="#238">238</a>                 <strong class="jxr_keyword">return</strong>;
<a name="239" href="#239">239</a>             }
<a name="240" href="#240">240</a>             e = e.nextEntry;
<a name="241" href="#241">241</a>         }
<a name="242" href="#242">242</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Filter not found: "</span>
<a name="243" href="#243">243</a>                 + oldFilter.getClass().getName());
<a name="244" href="#244">244</a>     }
<a name="245" href="#245">245</a> 
<a name="246" href="#246">246</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> replace(
<a name="247" href="#247">247</a>             Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; oldFilterType, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> newFilter) {
<a name="248" href="#248">248</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="249" href="#249">249</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="250" href="#250">250</a>             <strong class="jxr_keyword">if</strong> (oldFilterType.isAssignableFrom(e.getFilter().getClass())) {
<a name="251" href="#251">251</a>                 <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> oldFilter = e.getFilter();
<a name="252" href="#252">252</a>                 e.setFilter(newFilter);
<a name="253" href="#253">253</a>                 <strong class="jxr_keyword">return</strong> oldFilter;
<a name="254" href="#254">254</a>             }
<a name="255" href="#255">255</a>             e = e.nextEntry;
<a name="256" href="#256">256</a>         }
<a name="257" href="#257">257</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Filter not found: "</span>
<a name="258" href="#258">258</a>                 + oldFilterType.getName());
<a name="259" href="#259">259</a>     }
<a name="260" href="#260">260</a> 
<a name="261" href="#261">261</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> clear() <strong class="jxr_keyword">throws</strong> Exception {
<a name="262" href="#262">262</a>         Iterator&lt;String&gt; it = <strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;(name2entry.keySet())
<a name="263" href="#263">263</a>                 .iterator();
<a name="264" href="#264">264</a>         <strong class="jxr_keyword">while</strong> (it.hasNext()) {
<a name="265" href="#265">265</a>             String name = it.next();
<a name="266" href="#266">266</a>             <strong class="jxr_keyword">if</strong> (contains(name)) {
<a name="267" href="#267">267</a>                 remove(name);
<a name="268" href="#268">268</a>             }
<a name="269" href="#269">269</a>         }
<a name="270" href="#270">270</a>     }
<a name="271" href="#271">271</a> 
<a name="272" href="#272">272</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> register(<a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> prevEntry, String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="273" href="#273">273</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> newEntry = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a>(prevEntry, prevEntry.nextEntry,
<a name="274" href="#274">274</a>                 name, filter);
<a name="275" href="#275">275</a> 
<a name="276" href="#276">276</a>         <strong class="jxr_keyword">try</strong> {
<a name="277" href="#277">277</a>             filter.onPreAdd(<strong class="jxr_keyword">this</strong>, name, newEntry.getNextFilter());
<a name="278" href="#278">278</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="279" href="#279">279</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterLifeCycleException.html">IoFilterLifeCycleException</a>(<span class="jxr_string">"onPreAdd(): "</span> + name + ':'
<a name="280" href="#280">280</a>                     + filter + <span class="jxr_string">" in "</span> + getSession(), e);
<a name="281" href="#281">281</a>         }
<a name="282" href="#282">282</a> 
<a name="283" href="#283">283</a>         prevEntry.nextEntry.prevEntry = newEntry;
<a name="284" href="#284">284</a>         prevEntry.nextEntry = newEntry;
<a name="285" href="#285">285</a>         name2entry.put(name, newEntry);
<a name="286" href="#286">286</a> 
<a name="287" href="#287">287</a>         <strong class="jxr_keyword">try</strong> {
<a name="288" href="#288">288</a>             filter.onPostAdd(<strong class="jxr_keyword">this</strong>, name, newEntry.getNextFilter());
<a name="289" href="#289">289</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="290" href="#290">290</a>             deregister0(newEntry);
<a name="291" href="#291">291</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterLifeCycleException.html">IoFilterLifeCycleException</a>(<span class="jxr_string">"onPostAdd(): "</span> + name + ':'
<a name="292" href="#292">292</a>                     + filter + <span class="jxr_string">" in "</span> + getSession(), e);
<a name="293" href="#293">293</a>         }
<a name="294" href="#294">294</a>     }
<a name="295" href="#295">295</a> 
<a name="296" href="#296">296</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> deregister(<a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> entry) {
<a name="297" href="#297">297</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="298" href="#298">298</a> 
<a name="299" href="#299">299</a>         <strong class="jxr_keyword">try</strong> {
<a name="300" href="#300">300</a>             filter.onPreRemove(<strong class="jxr_keyword">this</strong>, entry.getName(), entry.getNextFilter());
<a name="301" href="#301">301</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="302" href="#302">302</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterLifeCycleException.html">IoFilterLifeCycleException</a>(<span class="jxr_string">"onPreRemove(): "</span>
<a name="303" href="#303">303</a>                     + entry.getName() + ':' + filter + <span class="jxr_string">" in "</span> + getSession(), e);
<a name="304" href="#304">304</a>         }
<a name="305" href="#305">305</a> 
<a name="306" href="#306">306</a>         deregister0(entry);
<a name="307" href="#307">307</a> 
<a name="308" href="#308">308</a>         <strong class="jxr_keyword">try</strong> {
<a name="309" href="#309">309</a>             filter.onPostRemove(<strong class="jxr_keyword">this</strong>, entry.getName(), entry.getNextFilter());
<a name="310" href="#310">310</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="311" href="#311">311</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterLifeCycleException.html">IoFilterLifeCycleException</a>(<span class="jxr_string">"onPostRemove(): "</span>
<a name="312" href="#312">312</a>                     + entry.getName() + ':' + filter + <span class="jxr_string">" in "</span> + getSession(), e);
<a name="313" href="#313">313</a>         }
<a name="314" href="#314">314</a>     }
<a name="315" href="#315">315</a> 
<a name="316" href="#316">316</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> deregister0(<a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> entry) {
<a name="317" href="#317">317</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> prevEntry = entry.prevEntry;
<a name="318" href="#318">318</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> nextEntry = entry.nextEntry;
<a name="319" href="#319">319</a>         prevEntry.nextEntry = nextEntry;
<a name="320" href="#320">320</a>         nextEntry.prevEntry = prevEntry;
<a name="321" href="#321">321</a> 
<a name="322" href="#322">322</a>         name2entry.remove(entry.name);
<a name="323" href="#323">323</a>     }
<a name="324" href="#324">324</a> 
<a name="325" href="#325">325</a>     <em class="jxr_javadoccomment">/**</em>
<a name="326" href="#326">326</a> <em class="jxr_javadoccomment">     * Throws an exception when the specified filter name is not registered in this chain.</em>
<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">     *</em>
<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">     * @return An filter entry with the specified name.</em>
<a name="329" href="#329">329</a> <em class="jxr_javadoccomment">     */</em>
<a name="330" href="#330">330</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> checkOldName(String baseName) {
<a name="331" href="#331">331</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = (EntryImpl) name2entry.get(baseName);
<a name="332" href="#332">332</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="333" href="#333">333</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Filter not found:"</span> + baseName);
<a name="334" href="#334">334</a>         }
<a name="335" href="#335">335</a>         <strong class="jxr_keyword">return</strong> e;
<a name="336" href="#336">336</a>     }
<a name="337" href="#337">337</a> 
<a name="338" href="#338">338</a>     <em class="jxr_javadoccomment">/**</em>
<a name="339" href="#339">339</a> <em class="jxr_javadoccomment">     * Checks the specified filter name is already taken and throws an exception if already taken.</em>
<a name="340" href="#340">340</a> <em class="jxr_javadoccomment">     */</em>
<a name="341" href="#341">341</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkAddable(String name) {
<a name="342" href="#342">342</a>         <strong class="jxr_keyword">if</strong> (name2entry.containsKey(name)) {
<a name="343" href="#343">343</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="344" href="#344">344</a>                     <span class="jxr_string">"Other filter is using the same name '"</span> + name + <span class="jxr_string">"'"</span>);
<a name="345" href="#345">345</a>         }
<a name="346" href="#346">346</a>     }
<a name="347" href="#347">347</a> 
<a name="348" href="#348">348</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireSessionCreated() {
<a name="349" href="#349">349</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="350" href="#350">350</a>         callNextSessionCreated(head, session);
<a name="351" href="#351">351</a>     }
<a name="352" href="#352">352</a> 
<a name="353" href="#353">353</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextSessionCreated(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="354" href="#354">354</a>         <strong class="jxr_keyword">try</strong> {
<a name="355" href="#355">355</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="356" href="#356">356</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="357" href="#357">357</a>             filter.sessionCreated(nextFilter, session);
<a name="358" href="#358">358</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="359" href="#359">359</a>             fireExceptionCaught(e);
<a name="360" href="#360">360</a>         }
<a name="361" href="#361">361</a>     }
<a name="362" href="#362">362</a> 
<a name="363" href="#363">363</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireSessionOpened() {
<a name="364" href="#364">364</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="365" href="#365">365</a>         callNextSessionOpened(head, session);
<a name="366" href="#366">366</a>     }
<a name="367" href="#367">367</a> 
<a name="368" href="#368">368</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextSessionOpened(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="369" href="#369">369</a>         <strong class="jxr_keyword">try</strong> {
<a name="370" href="#370">370</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="371" href="#371">371</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="372" href="#372">372</a>             filter.sessionOpened(nextFilter, session);
<a name="373" href="#373">373</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="374" href="#374">374</a>             fireExceptionCaught(e);
<a name="375" href="#375">375</a>         }
<a name="376" href="#376">376</a>     }
<a name="377" href="#377">377</a> 
<a name="378" href="#378">378</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireSessionClosed() {
<a name="379" href="#379">379</a>         <em class="jxr_comment">// Update future.</em>
<a name="380" href="#380">380</a>         <strong class="jxr_keyword">try</strong> {
<a name="381" href="#381">381</a>             session.getCloseFuture().setClosed();
<a name="382" href="#382">382</a>         } <strong class="jxr_keyword">catch</strong> (Throwable t) {
<a name="383" href="#383">383</a>             fireExceptionCaught(t);
<a name="384" href="#384">384</a>         }
<a name="385" href="#385">385</a> 
<a name="386" href="#386">386</a>         <em class="jxr_comment">// And start the chain.</em>
<a name="387" href="#387">387</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="388" href="#388">388</a>         callNextSessionClosed(head, session);
<a name="389" href="#389">389</a>     }
<a name="390" href="#390">390</a> 
<a name="391" href="#391">391</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextSessionClosed(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="392" href="#392">392</a>         <strong class="jxr_keyword">try</strong> {
<a name="393" href="#393">393</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="394" href="#394">394</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="395" href="#395">395</a>             filter.sessionClosed(nextFilter, session);
<a name="396" href="#396">396</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="397" href="#397">397</a>             fireExceptionCaught(e);
<a name="398" href="#398">398</a>         }
<a name="399" href="#399">399</a>     }
<a name="400" href="#400">400</a> 
<a name="401" href="#401">401</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireSessionIdle(<a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) {
<a name="402" href="#402">402</a>         session.increaseIdleCount(status, System.currentTimeMillis());
<a name="403" href="#403">403</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="404" href="#404">404</a>         callNextSessionIdle(head, session, status);
<a name="405" href="#405">405</a>     }
<a name="406" href="#406">406</a> 
<a name="407" href="#407">407</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextSessionIdle(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="408" href="#408">408</a>             <a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) {
<a name="409" href="#409">409</a>         <strong class="jxr_keyword">try</strong> {
<a name="410" href="#410">410</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="411" href="#411">411</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="412" href="#412">412</a>             filter.sessionIdle(nextFilter, session,
<a name="413" href="#413">413</a>                     status);
<a name="414" href="#414">414</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="415" href="#415">415</a>             fireExceptionCaught(e);
<a name="416" href="#416">416</a>         }
<a name="417" href="#417">417</a>     }
<a name="418" href="#418">418</a> 
<a name="419" href="#419">419</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireMessageReceived(Object message) {
<a name="420" href="#420">420</a>         <strong class="jxr_keyword">if</strong> (message instanceof IoBuffer) {
<a name="421" href="#421">421</a>             session.increaseReadBytes(((IoBuffer) message).remaining(), System
<a name="422" href="#422">422</a>                     .currentTimeMillis());
<a name="423" href="#423">423</a>         }
<a name="424" href="#424">424</a> 
<a name="425" href="#425">425</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="426" href="#426">426</a>         callNextMessageReceived(head, session, message);
<a name="427" href="#427">427</a>     }
<a name="428" href="#428">428</a> 
<a name="429" href="#429">429</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextMessageReceived(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="430" href="#430">430</a>             Object message) {
<a name="431" href="#431">431</a>         <strong class="jxr_keyword">try</strong> {
<a name="432" href="#432">432</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="433" href="#433">433</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="434" href="#434">434</a>             filter.messageReceived(nextFilter, session,
<a name="435" href="#435">435</a>                     message);
<a name="436" href="#436">436</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="437" href="#437">437</a>             fireExceptionCaught(e);
<a name="438" href="#438">438</a>         }
<a name="439" href="#439">439</a>     }
<a name="440" href="#440">440</a> 
<a name="441" href="#441">441</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireMessageSent(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> request) {
<a name="442" href="#442">442</a>         session.increaseWrittenMessages(request, System.currentTimeMillis());
<a name="443" href="#443">443</a> 
<a name="444" href="#444">444</a>         <strong class="jxr_keyword">try</strong> {
<a name="445" href="#445">445</a>             request.getFuture().setWritten();
<a name="446" href="#446">446</a>         } <strong class="jxr_keyword">catch</strong> (Throwable t) {
<a name="447" href="#447">447</a>             fireExceptionCaught(t);
<a name="448" href="#448">448</a>         }
<a name="449" href="#449">449</a> 
<a name="450" href="#450">450</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="451" href="#451">451</a>         callNextMessageSent(head, session, request);
<a name="452" href="#452">452</a>     }
<a name="453" href="#453">453</a> 
<a name="454" href="#454">454</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextMessageSent(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="455" href="#455">455</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="456" href="#456">456</a>         <strong class="jxr_keyword">try</strong> {
<a name="457" href="#457">457</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="458" href="#458">458</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="459" href="#459">459</a>             filter.messageSent(nextFilter, session,
<a name="460" href="#460">460</a>                     writeRequest);
<a name="461" href="#461">461</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="462" href="#462">462</a>             fireExceptionCaught(e);
<a name="463" href="#463">463</a>         }
<a name="464" href="#464">464</a>     }
<a name="465" href="#465">465</a> 
<a name="466" href="#466">466</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireExceptionCaught(Throwable cause) {
<a name="467" href="#467">467</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="468" href="#468">468</a>         callNextExceptionCaught(head, session, cause);
<a name="469" href="#469">469</a>     }
<a name="470" href="#470">470</a> 
<a name="471" href="#471">471</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextExceptionCaught(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="472" href="#472">472</a>             Throwable cause) {
<a name="473" href="#473">473</a>         <em class="jxr_comment">// Notify the related future.</em>
<a name="474" href="#474">474</a>         <a href="../../../../../org/apache/mina/core/future/ConnectFuture.html">ConnectFuture</a> future = (ConnectFuture) session
<a name="475" href="#475">475</a>                 .removeAttribute(SESSION_CREATED_FUTURE);
<a name="476" href="#476">476</a>         <strong class="jxr_keyword">if</strong> (future == <strong class="jxr_keyword">null</strong>) {
<a name="477" href="#477">477</a>             <strong class="jxr_keyword">try</strong> {
<a name="478" href="#478">478</a>                 <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="479" href="#479">479</a>                 <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="480" href="#480">480</a>                 filter.exceptionCaught(nextFilter,
<a name="481" href="#481">481</a>                         session, cause);
<a name="482" href="#482">482</a>             } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="483" href="#483">483</a>                 logger
<a name="484" href="#484">484</a>                         .warn(
<a name="485" href="#485">485</a>                                 <span class="jxr_string">"Unexpected exception from exceptionCaught handler."</span>,
<a name="486" href="#486">486</a>                                 e);
<a name="487" href="#487">487</a>             }
<a name="488" href="#488">488</a>         } <strong class="jxr_keyword">else</strong> {
<a name="489" href="#489">489</a>             <em class="jxr_comment">// Please note that this place is not the only place that</em>
<a name="490" href="#490">490</a>             <em class="jxr_comment">// calls ConnectFuture.setException().</em>
<a name="491" href="#491">491</a>             session.close(<strong class="jxr_keyword">true</strong>);
<a name="492" href="#492">492</a>             future.setException(cause);
<a name="493" href="#493">493</a>         }
<a name="494" href="#494">494</a>     }
<a name="495" href="#495">495</a> 
<a name="496" href="#496">496</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireFilterWrite(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="497" href="#497">497</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> tail = <strong class="jxr_keyword">this</strong>.tail;
<a name="498" href="#498">498</a>         callPreviousFilterWrite(tail, session, writeRequest);
<a name="499" href="#499">499</a>     }
<a name="500" href="#500">500</a> 
<a name="501" href="#501">501</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callPreviousFilterWrite(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="502" href="#502">502</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="503" href="#503">503</a>         <strong class="jxr_keyword">try</strong> {
<a name="504" href="#504">504</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="505" href="#505">505</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="506" href="#506">506</a>             filter.filterWrite(nextFilter, session, writeRequest);
<a name="507" href="#507">507</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="508" href="#508">508</a>             writeRequest.getFuture().setException(e);
<a name="509" href="#509">509</a>             fireExceptionCaught(e);
<a name="510" href="#510">510</a>         }
<a name="511" href="#511">511</a>     }
<a name="512" href="#512">512</a> 
<a name="513" href="#513">513</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireFilterClose() {
<a name="514" href="#514">514</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> tail = <strong class="jxr_keyword">this</strong>.tail;
<a name="515" href="#515">515</a>         callPreviousFilterClose(tail, session);
<a name="516" href="#516">516</a>     }
<a name="517" href="#517">517</a> 
<a name="518" href="#518">518</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callPreviousFilterClose(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="519" href="#519">519</a>         <strong class="jxr_keyword">try</strong> {
<a name="520" href="#520">520</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="521" href="#521">521</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="522" href="#522">522</a>             filter.filterClose(nextFilter, session);
<a name="523" href="#523">523</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="524" href="#524">524</a>             fireExceptionCaught(e);
<a name="525" href="#525">525</a>         }
<a name="526" href="#526">526</a>     }
<a name="527" href="#527">527</a> 
<a name="528" href="#528">528</a>     <strong class="jxr_keyword">public</strong> List&lt;Entry&gt; getAll() {
<a name="529" href="#529">529</a>         List&lt;Entry&gt; list = <strong class="jxr_keyword">new</strong> ArrayList&lt;Entry&gt;();
<a name="530" href="#530">530</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="531" href="#531">531</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="532" href="#532">532</a>             list.add(e);
<a name="533" href="#533">533</a>             e = e.nextEntry;
<a name="534" href="#534">534</a>         }
<a name="535" href="#535">535</a> 
<a name="536" href="#536">536</a>         <strong class="jxr_keyword">return</strong> list;
<a name="537" href="#537">537</a>     }
<a name="538" href="#538">538</a> 
<a name="539" href="#539">539</a>     <strong class="jxr_keyword">public</strong> List&lt;Entry&gt; getAllReversed() {
<a name="540" href="#540">540</a>         List&lt;Entry&gt; list = <strong class="jxr_keyword">new</strong> ArrayList&lt;Entry&gt;();
<a name="541" href="#541">541</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = tail.prevEntry;
<a name="542" href="#542">542</a>         <strong class="jxr_keyword">while</strong> (e != head) {
<a name="543" href="#543">543</a>             list.add(e);
<a name="544" href="#544">544</a>             e = e.prevEntry;
<a name="545" href="#545">545</a>         }
<a name="546" href="#546">546</a>         <strong class="jxr_keyword">return</strong> list;
<a name="547" href="#547">547</a>     }
<a name="548" href="#548">548</a> 
<a name="549" href="#549">549</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> contains(String name) {
<a name="550" href="#550">550</a>         <strong class="jxr_keyword">return</strong> getEntry(name) != <strong class="jxr_keyword">null</strong>;
<a name="551" href="#551">551</a>     }
<a name="552" href="#552">552</a> 
<a name="553" href="#553">553</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> contains(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="554" href="#554">554</a>         <strong class="jxr_keyword">return</strong> getEntry(filter) != <strong class="jxr_keyword">null</strong>;
<a name="555" href="#555">555</a>     }
<a name="556" href="#556">556</a> 
<a name="557" href="#557">557</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> contains(Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; filterType) {
<a name="558" href="#558">558</a>         <strong class="jxr_keyword">return</strong> getEntry(filterType) != <strong class="jxr_keyword">null</strong>;
<a name="559" href="#559">559</a>     }
<a name="560" href="#560">560</a> 
<a name="561" href="#561">561</a>     @Override
<a name="562" href="#562">562</a>     <strong class="jxr_keyword">public</strong> String toString() {
<a name="563" href="#563">563</a>         StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
<a name="564" href="#564">564</a>         buf.append(<span class="jxr_string">"{ "</span>);
<a name="565" href="#565">565</a> 
<a name="566" href="#566">566</a>         <strong class="jxr_keyword">boolean</strong> empty = <strong class="jxr_keyword">true</strong>;
<a name="567" href="#567">567</a> 
<a name="568" href="#568">568</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="569" href="#569">569</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="570" href="#570">570</a>             <strong class="jxr_keyword">if</strong> (!empty) {
<a name="571" href="#571">571</a>                 buf.append(<span class="jxr_string">", "</span>);
<a name="572" href="#572">572</a>             } <strong class="jxr_keyword">else</strong> {
<a name="573" href="#573">573</a>                 empty = false;
<a name="574" href="#574">574</a>             }
<a name="575" href="#575">575</a> 
<a name="576" href="#576">576</a>             buf.append('(');
<a name="577" href="#577">577</a>             buf.append(e.getName());
<a name="578" href="#578">578</a>             buf.append(':');
<a name="579" href="#579">579</a>             buf.append(e.getFilter());
<a name="580" href="#580">580</a>             buf.append(')');
<a name="581" href="#581">581</a> 
<a name="582" href="#582">582</a>             e = e.nextEntry;
<a name="583" href="#583">583</a>         }
<a name="584" href="#584">584</a> 
<a name="585" href="#585">585</a>         <strong class="jxr_keyword">if</strong> (empty) {
<a name="586" href="#586">586</a>             buf.append(<span class="jxr_string">"empty"</span>);
<a name="587" href="#587">587</a>         }
<a name="588" href="#588">588</a> 
<a name="589" href="#589">589</a>         buf.append(<span class="jxr_string">" }"</span>);
<a name="590" href="#590">590</a> 
<a name="591" href="#591">591</a>         <strong class="jxr_keyword">return</strong> buf.toString();
<a name="592" href="#592">592</a>     }
<a name="593" href="#593">593</a> 
<a name="594" href="#594">594</a>     @Override
<a name="595" href="#595">595</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> finalize() <strong class="jxr_keyword">throws</strong> Throwable {
<a name="596" href="#596">596</a>         <strong class="jxr_keyword">try</strong> {
<a name="597" href="#597">597</a>             <strong class="jxr_keyword">this</strong>.clear();
<a name="598" href="#598">598</a>         } <strong class="jxr_keyword">finally</strong> {
<a name="599" href="#599">599</a>             <strong class="jxr_keyword">super</strong>.finalize();
<a name="600" href="#600">600</a>         }
<a name="601" href="#601">601</a>     }
<a name="602" href="#602">602</a> 
<a name="603" href="#603">603</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">HeadFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html">IoFilterAdapter</a> {
<a name="604" href="#604">604</a>         @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
<a name="605" href="#605">605</a>         @Override
<a name="606" href="#606">606</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="607" href="#607">607</a>                 <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) <strong class="jxr_keyword">throws</strong> Exception {
<a name="608" href="#608">608</a> 
<a name="609" href="#609">609</a>             <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> s = (AbstractIoSession) session;
<a name="610" href="#610">610</a> 
<a name="611" href="#611">611</a>             <em class="jxr_comment">// Maintain counters.</em>
<a name="612" href="#612">612</a>             <strong class="jxr_keyword">if</strong> (writeRequest.getMessage() instanceof IoBuffer) {
<a name="613" href="#613">613</a>                 <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buffer = (IoBuffer) writeRequest.getMessage();
<a name="614" href="#614">614</a>                 <em class="jxr_comment">// I/O processor implementation will call buffer.reset()</em>
<a name="615" href="#615">615</a>                 <em class="jxr_comment">// it after the write operation is finished, because</em>
<a name="616" href="#616">616</a>                 <em class="jxr_comment">// the buffer will be specified with messageSent event.</em>
<a name="617" href="#617">617</a>                 buffer.mark();
<a name="618" href="#618">618</a>                 <strong class="jxr_keyword">int</strong> remaining = buffer.remaining();
<a name="619" href="#619">619</a>                 <strong class="jxr_keyword">if</strong> (remaining == 0) {
<a name="620" href="#620">620</a>                     <em class="jxr_comment">// Zero-sized buffer means the internal message</em>
<a name="621" href="#621">621</a>                     <em class="jxr_comment">// delimiter.</em>
<a name="622" href="#622">622</a>                     s.increaseScheduledWriteMessages();
<a name="623" href="#623">623</a>                 } <strong class="jxr_keyword">else</strong> {
<a name="624" href="#624">624</a>                     s.increaseScheduledWriteBytes(remaining);
<a name="625" href="#625">625</a>                 }
<a name="626" href="#626">626</a>             } <strong class="jxr_keyword">else</strong> {
<a name="627" href="#627">627</a>                 s.increaseScheduledWriteMessages();
<a name="628" href="#628">628</a>             }
<a name="629" href="#629">629</a> 
<a name="630" href="#630">630</a>             s.getWriteRequestQueue().offer(s, writeRequest);
<a name="631" href="#631">631</a>             <strong class="jxr_keyword">if</strong> (!s.isWriteSuspended()) {
<a name="632" href="#632">632</a>                 s.getProcessor().flush(s);
<a name="633" href="#633">633</a>             }
<a name="634" href="#634">634</a>         }
<a name="635" href="#635">635</a> 
<a name="636" href="#636">636</a>         @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
<a name="637" href="#637">637</a>         @Override
<a name="638" href="#638">638</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterClose(<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="639" href="#639">639</a>                 <strong class="jxr_keyword">throws</strong> Exception {
<a name="640" href="#640">640</a>             ((<a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a>) session).getProcessor().remove(((AbstractIoSession) session));
<a name="641" href="#641">641</a>         }
<a name="642" href="#642">642</a>     }
<a name="643" href="#643">643</a> 
<a name="644" href="#644">644</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">TailFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html">IoFilterAdapter</a> {
<a name="645" href="#645">645</a>         @Override
<a name="646" href="#646">646</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionCreated(<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="647" href="#647">647</a>                 <strong class="jxr_keyword">throws</strong> Exception {
<a name="648" href="#648">648</a>             <strong class="jxr_keyword">try</strong> {
<a name="649" href="#649">649</a>                 session.getHandler().sessionCreated(session);
<a name="650" href="#650">650</a>             } <strong class="jxr_keyword">finally</strong> {
<a name="651" href="#651">651</a>                 <em class="jxr_comment">// Notify the related future.</em>
<a name="652" href="#652">652</a>                 <a href="../../../../../org/apache/mina/core/future/ConnectFuture.html">ConnectFuture</a> future = (ConnectFuture) session
<a name="653" href="#653">653</a>                         .removeAttribute(SESSION_CREATED_FUTURE);
<a name="654" href="#654">654</a>                 <strong class="jxr_keyword">if</strong> (future != <strong class="jxr_keyword">null</strong>) {
<a name="655" href="#655">655</a>                     future.setSession(session);
<a name="656" href="#656">656</a>                 }
<a name="657" href="#657">657</a>             }
<a name="658" href="#658">658</a>         }
<a name="659" href="#659">659</a> 
<a name="660" href="#660">660</a>         @Override
<a name="661" href="#661">661</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionOpened(<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="662" href="#662">662</a>                 <strong class="jxr_keyword">throws</strong> Exception {
<a name="663" href="#663">663</a>             session.getHandler().sessionOpened(session);
<a name="664" href="#664">664</a>         }
<a name="665" href="#665">665</a> 
<a name="666" href="#666">666</a>         @Override
<a name="667" href="#667">667</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="668" href="#668">668</a>                 <strong class="jxr_keyword">throws</strong> Exception {
<a name="669" href="#669">669</a>             <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> s = (AbstractIoSession) session;
<a name="670" href="#670">670</a>             <strong class="jxr_keyword">try</strong> {
<a name="671" href="#671">671</a>                 s.getHandler().sessionClosed(session);
<a name="672" href="#672">672</a>             } <strong class="jxr_keyword">finally</strong> {
<a name="673" href="#673">673</a>                 <strong class="jxr_keyword">try</strong> {
<a name="674" href="#674">674</a>                     s.getWriteRequestQueue().dispose(session);
<a name="675" href="#675">675</a>                 } <strong class="jxr_keyword">finally</strong> {
<a name="676" href="#676">676</a>                     <strong class="jxr_keyword">try</strong> {
<a name="677" href="#677">677</a>                         s.getAttributeMap().dispose(session);
<a name="678" href="#678">678</a>                     } <strong class="jxr_keyword">finally</strong> {
<a name="679" href="#679">679</a>                         <strong class="jxr_keyword">try</strong> {
<a name="680" href="#680">680</a>                             <em class="jxr_comment">// Remove all filters.</em>
<a name="681" href="#681">681</a>                             session.getFilterChain().clear();
<a name="682" href="#682">682</a>                         } <strong class="jxr_keyword">finally</strong> {
<a name="683" href="#683">683</a>                             <strong class="jxr_keyword">if</strong> (s.getConfig().isUseReadOperation()) {
<a name="684" href="#684">684</a>                                 s.offerClosedReadFuture();
<a name="685" href="#685">685</a>                             }
<a name="686" href="#686">686</a>                         }
<a name="687" href="#687">687</a>                     }
<a name="688" href="#688">688</a>                 }
<a name="689" href="#689">689</a>             }
<a name="690" href="#690">690</a>         }
<a name="691" href="#691">691</a> 
<a name="692" href="#692">692</a>         @Override
<a name="693" href="#693">693</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionIdle(<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="694" href="#694">694</a>                 <a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) <strong class="jxr_keyword">throws</strong> Exception {
<a name="695" href="#695">695</a>             session.getHandler().sessionIdle(session, status);
<a name="696" href="#696">696</a>         }
<a name="697" href="#697">697</a> 
<a name="698" href="#698">698</a>         @Override
<a name="699" href="#699">699</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exceptionCaught(<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="700" href="#700">700</a>                 Throwable cause) <strong class="jxr_keyword">throws</strong> Exception {
<a name="701" href="#701">701</a>             <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> s = (AbstractIoSession) session;
<a name="702" href="#702">702</a>             <strong class="jxr_keyword">try</strong> {
<a name="703" href="#703">703</a>                 s.getHandler().exceptionCaught(s, cause);
<a name="704" href="#704">704</a>             } <strong class="jxr_keyword">finally</strong> {
<a name="705" href="#705">705</a>                 <strong class="jxr_keyword">if</strong> (s.getConfig().isUseReadOperation()) {
<a name="706" href="#706">706</a>                     s.offerFailedReadFuture(cause);
<a name="707" href="#707">707</a>                 }
<a name="708" href="#708">708</a>             }
<a name="709" href="#709">709</a>         }
<a name="710" href="#710">710</a> 
<a name="711" href="#711">711</a>         @Override
<a name="712" href="#712">712</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="713" href="#713">713</a>                 Object message) <strong class="jxr_keyword">throws</strong> Exception {
<a name="714" href="#714">714</a>             <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> s = (AbstractIoSession) session;
<a name="715" href="#715">715</a>             <strong class="jxr_keyword">if</strong> (!(message instanceof IoBuffer)) {
<a name="716" href="#716">716</a>                 s.increaseReadMessages(System.currentTimeMillis());
<a name="717" href="#717">717</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (!((IoBuffer) message).hasRemaining()) {
<a name="718" href="#718">718</a>                 s.increaseReadMessages(System.currentTimeMillis());
<a name="719" href="#719">719</a>             }
<a name="720" href="#720">720</a> 
<a name="721" href="#721">721</a>             <strong class="jxr_keyword">try</strong> {
<a name="722" href="#722">722</a>                 session.getHandler().messageReceived(s, message);
<a name="723" href="#723">723</a>             } <strong class="jxr_keyword">finally</strong> {
<a name="724" href="#724">724</a>                 <strong class="jxr_keyword">if</strong> (s.getConfig().isUseReadOperation()) {
<a name="725" href="#725">725</a>                     s.offerReadFuture(message);
<a name="726" href="#726">726</a>                 }
<a name="727" href="#727">727</a>             }
<a name="728" href="#728">728</a>         }
<a name="729" href="#729">729</a> 
<a name="730" href="#730">730</a>         @Override
<a name="731" href="#731">731</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="732" href="#732">732</a>                 <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) <strong class="jxr_keyword">throws</strong> Exception {
<a name="733" href="#733">733</a>             session.getHandler()
<a name="734" href="#734">734</a>                     .messageSent(session, writeRequest.getMessage());
<a name="735" href="#735">735</a>         }
<a name="736" href="#736">736</a> 
<a name="737" href="#737">737</a>         @Override
<a name="738" href="#738">738</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="739" href="#739">739</a>                 <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) <strong class="jxr_keyword">throws</strong> Exception {
<a name="740" href="#740">740</a>             nextFilter.filterWrite(session, writeRequest);
<a name="741" href="#741">741</a>         }
<a name="742" href="#742">742</a> 
<a name="743" href="#743">743</a>         @Override
<a name="744" href="#744">744</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterClose(<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="745" href="#745">745</a>                 <strong class="jxr_keyword">throws</strong> Exception {
<a name="746" href="#746">746</a>             nextFilter.filterClose(session);
<a name="747" href="#747">747</a>         }
<a name="748" href="#748">748</a>     }
<a name="749" href="#749">749</a> 
<a name="750" href="#750">750</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> implements <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> {
<a name="751" href="#751">751</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> prevEntry;
<a name="752" href="#752">752</a> 
<a name="753" href="#753">753</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> nextEntry;
<a name="754" href="#754">754</a> 
<a name="755" href="#755">755</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String name;
<a name="756" href="#756">756</a> 
<a name="757" href="#757">757</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter;
<a name="758" href="#758">758</a> 
<a name="759" href="#759">759</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="760" href="#760">760</a> 
<a name="761" href="#761">761</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a>(<a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> prevEntry, <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> nextEntry,
<a name="762" href="#762">762</a>                 String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="763" href="#763">763</a>             <strong class="jxr_keyword">if</strong> (filter == <strong class="jxr_keyword">null</strong>) {
<a name="764" href="#764">764</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"filter"</span>);
<a name="765" href="#765">765</a>             }
<a name="766" href="#766">766</a>             <strong class="jxr_keyword">if</strong> (name == <strong class="jxr_keyword">null</strong>) {
<a name="767" href="#767">767</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"name"</span>);
<a name="768" href="#768">768</a>             }
<a name="769" href="#769">769</a> 
<a name="770" href="#770">770</a>             <strong class="jxr_keyword">this</strong>.prevEntry = prevEntry;
<a name="771" href="#771">771</a>             <strong class="jxr_keyword">this</strong>.nextEntry = nextEntry;
<a name="772" href="#772">772</a>             <strong class="jxr_keyword">this</strong>.name = name;
<a name="773" href="#773">773</a>             <strong class="jxr_keyword">this</strong>.filter = filter;
<a name="774" href="#774">774</a>             <strong class="jxr_keyword">this</strong>.nextFilter = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a>() {
<a name="775" href="#775">775</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionCreated(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="776" href="#776">776</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="777" href="#777">777</a>                     callNextSessionCreated(nextEntry, session);
<a name="778" href="#778">778</a>                 }
<a name="779" href="#779">779</a> 
<a name="780" href="#780">780</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionOpened(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="781" href="#781">781</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="782" href="#782">782</a>                     callNextSessionOpened(nextEntry, session);
<a name="783" href="#783">783</a>                 }
<a name="784" href="#784">784</a> 
<a name="785" href="#785">785</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionClosed(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="786" href="#786">786</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="787" href="#787">787</a>                     callNextSessionClosed(nextEntry, session);
<a name="788" href="#788">788</a>                 }
<a name="789" href="#789">789</a> 
<a name="790" href="#790">790</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionIdle(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) {
<a name="791" href="#791">791</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="792" href="#792">792</a>                     callNextSessionIdle(nextEntry, session, status);
<a name="793" href="#793">793</a>                 }
<a name="794" href="#794">794</a> 
<a name="795" href="#795">795</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exceptionCaught(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, Throwable cause) {
<a name="796" href="#796">796</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="797" href="#797">797</a>                     callNextExceptionCaught(nextEntry, session, cause);
<a name="798" href="#798">798</a>                 }
<a name="799" href="#799">799</a> 
<a name="800" href="#800">800</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageReceived(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, Object message) {
<a name="801" href="#801">801</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="802" href="#802">802</a>                     callNextMessageReceived(nextEntry, session, message);
<a name="803" href="#803">803</a>                 }
<a name="804" href="#804">804</a> 
<a name="805" href="#805">805</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageSent(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="806" href="#806">806</a>                         <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="807" href="#807">807</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="808" href="#808">808</a>                     callNextMessageSent(nextEntry, session, writeRequest);
<a name="809" href="#809">809</a>                 }
<a name="810" href="#810">810</a> 
<a name="811" href="#811">811</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterWrite(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="812" href="#812">812</a>                         <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="813" href="#813">813</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.prevEntry;
<a name="814" href="#814">814</a>                     callPreviousFilterWrite(nextEntry, session, writeRequest);
<a name="815" href="#815">815</a>                 }
<a name="816" href="#816">816</a> 
<a name="817" href="#817">817</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterClose(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="818" href="#818">818</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.prevEntry;
<a name="819" href="#819">819</a>                     callPreviousFilterClose(nextEntry, session);
<a name="820" href="#820">820</a>                 }
<a name="821" href="#821">821</a>                 
<a name="822" href="#822">822</a>                 <strong class="jxr_keyword">public</strong> String toString() {
<a name="823" href="#823">823</a>                 	<strong class="jxr_keyword">return</strong> EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry.name;
<a name="824" href="#824">824</a>                 }
<a name="825" href="#825">825</a>             };
<a name="826" href="#826">826</a>         }
<a name="827" href="#827">827</a> 
<a name="828" href="#828">828</a>         <strong class="jxr_keyword">public</strong> String getName() {
<a name="829" href="#829">829</a>             <strong class="jxr_keyword">return</strong> name;
<a name="830" href="#830">830</a>         }
<a name="831" href="#831">831</a> 
<a name="832" href="#832">832</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> getFilter() {
<a name="833" href="#833">833</a>             <strong class="jxr_keyword">return</strong> filter;
<a name="834" href="#834">834</a>         }
<a name="835" href="#835">835</a> 
<a name="836" href="#836">836</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> setFilter(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="837" href="#837">837</a>             <strong class="jxr_keyword">if</strong> (filter == <strong class="jxr_keyword">null</strong>) {
<a name="838" href="#838">838</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"filter"</span>);
<a name="839" href="#839">839</a>             }
<a name="840" href="#840">840</a> 
<a name="841" href="#841">841</a>             <strong class="jxr_keyword">this</strong>.filter = filter;
<a name="842" href="#842">842</a>         }
<a name="843" href="#843">843</a> 
<a name="844" href="#844">844</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> getNextFilter() {
<a name="845" href="#845">845</a>             <strong class="jxr_keyword">return</strong> nextFilter;
<a name="846" href="#846">846</a>         }
<a name="847" href="#847">847</a> 
<a name="848" href="#848">848</a>         @Override
<a name="849" href="#849">849</a>         <strong class="jxr_keyword">public</strong> String toString() {
<a name="850" href="#850">850</a>         	StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
<a name="851" href="#851">851</a>         	
<a name="852" href="#852">852</a>         	<em class="jxr_comment">// Add the current filter</em>
<a name="853" href="#853">853</a>         	sb.append(<span class="jxr_string">"('"</span>).append(getName()).append('\'');
<a name="854" href="#854">854</a>         	
<a name="855" href="#855">855</a>         	<em class="jxr_comment">// Add the previous filter </em>
<a name="856" href="#856">856</a>         	sb.append(<span class="jxr_string">", prev: '"</span>);
<a name="857" href="#857">857</a> 
<a name="858" href="#858">858</a>         	<strong class="jxr_keyword">if</strong> (prevEntry != <strong class="jxr_keyword">null</strong>) {
<a name="859" href="#859">859</a>                 sb.append(prevEntry.name);
<a name="860" href="#860">860</a>                 sb.append(':');
<a name="861" href="#861">861</a>                 sb.append(prevEntry.getFilter().getClass().getSimpleName());
<a name="862" href="#862">862</a>         	} <strong class="jxr_keyword">else</strong> {
<a name="863" href="#863">863</a>             	sb.append(<span class="jxr_string">"null"</span>);
<a name="864" href="#864">864</a>         	}
<a name="865" href="#865">865</a>         	
<a name="866" href="#866">866</a>         	<em class="jxr_comment">// Add the next filter </em>
<a name="867" href="#867">867</a>         	sb.append(<span class="jxr_string">"', next: '"</span>);
<a name="868" href="#868">868</a> 
<a name="869" href="#869">869</a>         	<strong class="jxr_keyword">if</strong> (nextEntry != <strong class="jxr_keyword">null</strong>) {
<a name="870" href="#870">870</a>                 sb.append(nextEntry.name);
<a name="871" href="#871">871</a>                 sb.append(':');
<a name="872" href="#872">872</a>                 sb.append(nextEntry.getFilter().getClass().getSimpleName());
<a name="873" href="#873">873</a>         	} <strong class="jxr_keyword">else</strong> {
<a name="874" href="#874">874</a>             	sb.append(<span class="jxr_string">"null"</span>);
<a name="875" href="#875">875</a>         	}
<a name="876" href="#876">876</a>         	
<a name="877" href="#877">877</a>         	sb.append(<span class="jxr_string">"')"</span>);
<a name="878" href="#878">878</a>             <strong class="jxr_keyword">return</strong> sb.toString();
<a name="879" href="#879">879</a>         }
<a name="880" href="#880">880</a> 
<a name="881" href="#881">881</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addAfter(String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="882" href="#882">882</a>             DefaultIoFilterChain.<strong class="jxr_keyword">this</strong>.addAfter(getName(), name, filter);
<a name="883" href="#883">883</a>         }
<a name="884" href="#884">884</a> 
<a name="885" href="#885">885</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addBefore(String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="886" href="#886">886</a>             DefaultIoFilterChain.<strong class="jxr_keyword">this</strong>.addBefore(getName(), name, filter);
<a name="887" href="#887">887</a>         }
<a name="888" href="#888">888</a> 
<a name="889" href="#889">889</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> remove() {
<a name="890" href="#890">890</a>             DefaultIoFilterChain.<strong class="jxr_keyword">this</strong>.remove(getName());
<a name="891" href="#891">891</a>         }
<a name="892" href="#892">892</a> 
<a name="893" href="#893">893</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> replace(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> newFilter) {
<a name="894" href="#894">894</a>             DefaultIoFilterChain.<strong class="jxr_keyword">this</strong>.replace(getName(), newFilter);
<a name="895" href="#895">895</a>         }
<a name="896" href="#896">896</a>     }
<a name="897" href="#897">897</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

