<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ProtocolThreadPoolFilter xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/protocol/filter/ProtocolThreadPoolFilter.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: ProtocolThreadPoolFilter.java 327113 2005-10-21 06:59:15Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *   Copyright 2004 The Apache Software Foundation</em>
<a name="5" href="#5">5</a>   <em class="comment"> *</em>
<a name="6" href="#6">6</a>   <em class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="7" href="#7">7</a>   <em class="comment"> *   you may not use this file except in compliance with the License.</em>
<a name="8" href="#8">8</a>   <em class="comment"> *   You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</a>  <em class="comment"> *       <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="comment"> *</em>
<a name="12" href="#12">12</a>  <em class="comment"> *   Unless required by applicable law or agreed to in writing, software</em>
<a name="13" href="#13">13</a>  <em class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="14" href="#14">14</a>  <em class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *   See the License for the specific language governing permissions and</em>
<a name="16" href="#16">16</a>  <em class="comment"> *   limitations under the License.</em>
<a name="17" href="#17">17</a>  <em class="comment"> *</em>
<a name="18" href="#18">18</a>  <em class="comment"> */</em>
<a name="19" href="#19">19</a>  <strong>package</strong> <a href="../../../../../org/apache/mina/protocol/filter/package-summary.html">org.apache.mina.protocol.filter</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> org.apache.mina.common.IdleStatus;
<a name="22" href="#22">22</a>  <strong>import</strong> org.apache.mina.common.Session;
<a name="23" href="#23">23</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolHandler;
<a name="24" href="#24">24</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolFilter;
<a name="25" href="#25">25</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolSession;
<a name="26" href="#26">26</a>  <strong>import</strong> org.apache.mina.util.BaseThreadPool;
<a name="27" href="#27">27</a>  <strong>import</strong> org.apache.mina.util.EventType;
<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.mina.util.ThreadPool;
<a name="29" href="#29">29</a>  
<a name="30" href="#30">30</a>  <em>/**<em>*</em></em>
<a name="31" href="#31">31</a>  <em> * A Thread-pooling filter.  This filter forwards {@link ProtocolHandler} events</em>
<a name="32" href="#32">32</a>  <em> * to its thread pool.</em>
<a name="33" href="#33">33</a>  <em> * </em>
<a name="34" href="#34">34</a>  <em> * @author The Apache Directory Project (dev@directory.apache.org)</em>
<a name="35" href="#35">35</a>  <em> * @version $Rev: 327113 $, $Date: 2005-10-21 15:59:15 +0900 $</em>
<a name="36" href="#36">36</a>  <em> * </em>
<a name="37" href="#37">37</a>  <em> * @see ThreadPool</em>
<a name="38" href="#38">38</a>  <em> * @see BaseThreadPool</em>
<a name="39" href="#39">39</a>  <em> */</em>
<a name="40" href="#40">40</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/protocol/filter/ProtocolThreadPoolFilter.html">ProtocolThreadPoolFilter</a> <strong>extends</strong> <a href="../../../../../org/apache/mina/util/BaseThreadPool.html">BaseThreadPool</a> implements ThreadPool, <a href="../../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a>
<a name="41" href="#41">41</a>  {
<a name="42" href="#42">42</a>  
<a name="43" href="#43">43</a>      <em>/**<em>*</em></em>
<a name="44" href="#44">44</a>  <em>     * Creates a new instanceof this filter with default thread pool settings.</em>
<a name="45" href="#45">45</a>  <em>     * You'll have to invoke {@link #start()} method to start threads actually.</em>
<a name="46" href="#46">46</a>  <em>     */</em>
<a name="47" href="#47">47</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/protocol/filter/ProtocolThreadPoolFilter.html">ProtocolThreadPoolFilter</a>()
<a name="48" href="#48">48</a>      {
<a name="49" href="#49">49</a>          <strong>this</strong>( <span class="string">"ProtocolThreadPool"</span> );
<a name="50" href="#50">50</a>      }
<a name="51" href="#51">51</a>  
<a name="52" href="#52">52</a>      <em>/**<em>*</em></em>
<a name="53" href="#53">53</a>  <em>     * Creates a new instance of this filter with default thread pool settings.</em>
<a name="54" href="#54">54</a>  <em>     * You'll have to invoke {@link #start()} method to start threads actually.</em>
<a name="55" href="#55">55</a>  <em>     * </em>
<a name="56" href="#56">56</a>  <em>     * @param threadNamePrefix the prefix of the thread names this pool will create.</em>
<a name="57" href="#57">57</a>  <em>     */</em>
<a name="58" href="#58">58</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/protocol/filter/ProtocolThreadPoolFilter.html">ProtocolThreadPoolFilter</a>( String threadNamePrefix )
<a name="59" href="#59">59</a>      {
<a name="60" href="#60">60</a>          <strong>super</strong>( threadNamePrefix );
<a name="61" href="#61">61</a>      }
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>      <strong>public</strong> <strong>void</strong> sessionOpened( NextFilter nextFilter,
<a name="64" href="#64">64</a>                                <a href="../../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session )
<a name="65" href="#65">65</a>      {
<a name="66" href="#66">66</a>          fireEvent( nextFilter, session, EventType.OPENED, <strong>null</strong> );
<a name="67" href="#67">67</a>      }
<a name="68" href="#68">68</a>  
<a name="69" href="#69">69</a>      <strong>public</strong> <strong>void</strong> sessionClosed( NextFilter nextFilter,
<a name="70" href="#70">70</a>                                <a href="../../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session )
<a name="71" href="#71">71</a>      {
<a name="72" href="#72">72</a>          fireEvent( nextFilter, session, EventType.CLOSED, <strong>null</strong> );
<a name="73" href="#73">73</a>      }
<a name="74" href="#74">74</a>  
<a name="75" href="#75">75</a>      <strong>public</strong> <strong>void</strong> sessionIdle( NextFilter nextFilter,
<a name="76" href="#76">76</a>                              <a href="../../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session, <a href="../../../../../org/apache/mina/common/IdleStatus.html">IdleStatus</a> status )
<a name="77" href="#77">77</a>      {
<a name="78" href="#78">78</a>          fireEvent( nextFilter, session, EventType.IDLE, status );
<a name="79" href="#79">79</a>      }
<a name="80" href="#80">80</a>  
<a name="81" href="#81">81</a>      <strong>public</strong> <strong>void</strong> exceptionCaught( NextFilter nextFilter,
<a name="82" href="#82">82</a>                                  <a href="../../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session, Throwable cause )
<a name="83" href="#83">83</a>      {
<a name="84" href="#84">84</a>          fireEvent( nextFilter, session, EventType.EXCEPTION, cause );
<a name="85" href="#85">85</a>      }
<a name="86" href="#86">86</a>  
<a name="87" href="#87">87</a>      <strong>public</strong> <strong>void</strong> messageReceived( NextFilter nextFilter,
<a name="88" href="#88">88</a>                                  <a href="../../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session, Object message )
<a name="89" href="#89">89</a>      {
<a name="90" href="#90">90</a>          fireEvent( nextFilter, session, EventType.RECEIVED, message );
<a name="91" href="#91">91</a>      }
<a name="92" href="#92">92</a>  
<a name="93" href="#93">93</a>      <strong>public</strong> <strong>void</strong> messageSent( NextFilter nextFilter,
<a name="94" href="#94">94</a>                              <a href="../../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session, Object message )
<a name="95" href="#95">95</a>      {
<a name="96" href="#96">96</a>          fireEvent( nextFilter, session, EventType.SENT, message );
<a name="97" href="#97">97</a>      }
<a name="98" href="#98">98</a>  
<a name="99" href="#99">99</a>      <strong>protected</strong> <strong>void</strong> processEvent( Object nextFilter0,
<a name="100" href="#100">100</a>                                <a href="../../../../../org/apache/mina/common/Session.html">Session</a> session0, <a href="../../../../../org/apache/mina/util/EventType.html">EventType</a> type,
<a name="101" href="#101">101</a>                                Object data )
<a name="102" href="#102">102</a>     {
<a name="103" href="#103">103</a>         NextFilter nextFilter = ( NextFilter ) nextFilter0;
<a name="104" href="#104">104</a>         <a href="../../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session = ( ProtocolSession ) session0;
<a name="105" href="#105">105</a> 
<a name="106" href="#106">106</a>         <strong>if</strong>( type == EventType.RECEIVED )
<a name="107" href="#107">107</a>         {
<a name="108" href="#108">108</a>             nextFilter.messageReceived( session, data );
<a name="109" href="#109">109</a>         }
<a name="110" href="#110">110</a>         <strong>else</strong> <strong>if</strong>( type == EventType.SENT )
<a name="111" href="#111">111</a>         {
<a name="112" href="#112">112</a>             nextFilter.messageSent( session, data );
<a name="113" href="#113">113</a>         }
<a name="114" href="#114">114</a>         <strong>else</strong> <strong>if</strong>( type == EventType.EXCEPTION )
<a name="115" href="#115">115</a>         {
<a name="116" href="#116">116</a>             nextFilter.exceptionCaught( session, ( Throwable ) data );
<a name="117" href="#117">117</a>         }
<a name="118" href="#118">118</a>         <strong>else</strong> <strong>if</strong>( type == EventType.IDLE )
<a name="119" href="#119">119</a>         {
<a name="120" href="#120">120</a>             nextFilter.sessionIdle( session, ( IdleStatus ) data );
<a name="121" href="#121">121</a>         }
<a name="122" href="#122">122</a>         <strong>else</strong> <strong>if</strong>( type == EventType.OPENED )
<a name="123" href="#123">123</a>         {
<a name="124" href="#124">124</a>             nextFilter.sessionOpened( session );
<a name="125" href="#125">125</a>         }
<a name="126" href="#126">126</a>         <strong>else</strong> <strong>if</strong>( type == EventType.CLOSED )
<a name="127" href="#127">127</a>         {
<a name="128" href="#128">128</a>             nextFilter.sessionClosed( session );
<a name="129" href="#129">129</a>         }
<a name="130" href="#130">130</a>     }
<a name="131" href="#131">131</a> 
<a name="132" href="#132">132</a>     <strong>public</strong> <strong>void</strong> filterWrite( NextFilter nextFilter, ProtocolSession session, Object message )
<a name="133" href="#133">133</a>     {
<a name="134" href="#134">134</a>         nextFilter.filterWrite( session, message );
<a name="135" href="#135">135</a>     }
<a name="136" href="#136">136</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

