<!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>PriorityThreadPoolExecutor xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/filter/executor/PriorityThreadPoolExecutor.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L10" href="#L10">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 class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.filter.executor;
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.*;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> java.util.*;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.*;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.atomic.AtomicInteger;
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.atomic.AtomicLong;
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <em class="jxr_javadoccomment"> * A {@link ThreadPoolExecutor} that maintains the order of {@link IoEvent}s</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <em class="jxr_javadoccomment"> * within a session (similar to {@link OrderedThreadPoolExecutor}) and allows</em>
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <em class="jxr_javadoccomment"> * some sessions to be prioritized over other sessions.</em>
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <em class="jxr_javadoccomment"> * If you don't need to maintain the order of events per session, please use</em>
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <em class="jxr_javadoccomment"> * {@link UnorderedThreadPoolExecutor}.</em>
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <em class="jxr_javadoccomment"> * If you don't need to prioritize sessions, please use</em>
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <em class="jxr_javadoccomment"> * {@link OrderedThreadPoolExecutor}.</em>
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="http://mina.apache.org" target="alexandria_uri">http://mina.apache.org</a>"&gt;Apache MINA Project&lt;/a&gt;</em>
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <em class="jxr_javadoccomment"> * @author Guus der Kinderen, guus.der.kinderen@gmail.com</em>
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  <em class="jxr_javadoccomment"> * @org.apache.xbean.XBean</em>
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <em class="jxr_comment">// TODO this class currently copies OrderedThreadPoolExecutor, and changes the</em>
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  <em class="jxr_comment">// BlockingQueue used for the waitingSessions field. This code duplication</em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <em class="jxr_comment">// should be avoided.</em>
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="PriorityThreadPoolExecutor" href="../../../../../org/apache/mina/filter/executor/PriorityThreadPoolExecutor.html#PriorityThreadPoolExecutor">PriorityThreadPoolExecutor</a> <strong class="jxr_keyword">extends</strong> ThreadPoolExecutor {
<a class="jxr_linenumber" name="L50" href="#L50">50</a>      <em class="jxr_javadoccomment">/** A logger for this class (commented as it breaks MDCFlter tests) */</em>
<a class="jxr_linenumber" name="L51" href="#L51">51</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger LOGGER = LoggerFactory.getLogger(PriorityThreadPoolExecutor.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  
<a class="jxr_linenumber" name="L53" href="#L53">53</a>      <em class="jxr_javadoccomment">/** Generates sequential identifiers that ensure FIFO behavior. */</em>
<a class="jxr_linenumber" name="L54" href="#L54">54</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> AtomicLong seq = <strong class="jxr_keyword">new</strong> AtomicLong(0);
<a class="jxr_linenumber" name="L55" href="#L55">55</a>  
<a class="jxr_linenumber" name="L56" href="#L56">56</a>      <em class="jxr_javadoccomment">/** A default value for the initial pool size */</em>
<a class="jxr_linenumber" name="L57" href="#L57">57</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_INITIAL_THREAD_POOL_SIZE = 0;
<a class="jxr_linenumber" name="L58" href="#L58">58</a>  
<a class="jxr_linenumber" name="L59" href="#L59">59</a>      <em class="jxr_javadoccomment">/** A default value for the maximum pool size */</em>
<a class="jxr_linenumber" name="L60" href="#L60">60</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_MAX_THREAD_POOL = 16;
<a class="jxr_linenumber" name="L61" href="#L61">61</a>  
<a class="jxr_linenumber" name="L62" href="#L62">62</a>      <em class="jxr_javadoccomment">/** A default value for the KeepAlive delay */</em>
<a class="jxr_linenumber" name="L63" href="#L63">63</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_KEEP_ALIVE = 30;
<a class="jxr_linenumber" name="L64" href="#L64">64</a>  
<a class="jxr_linenumber" name="L65" href="#L65">65</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> SessionEntry EXIT_SIGNAL = <strong class="jxr_keyword">new</strong> SessionEntry(<strong class="jxr_keyword">new</strong> <a name="DummySession" href="../../../../../org/apache/mina/core/session/DummySession.html#DummySession">DummySession</a>(), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L66" href="#L66">66</a>  
<a class="jxr_linenumber" name="L67" href="#L67">67</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L68" href="#L68">68</a>  <em class="jxr_javadoccomment">     * A key stored into the session's attribute for the event tasks being queued</em>
<a class="jxr_linenumber" name="L69" href="#L69">69</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L70" href="#L70">70</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a name="AttributeKey" href="../../../../../org/apache/mina/core/ses<a name="AttributeKey" href="../../../../../org/apache/mina/core/session/AttributeKey.html#AttributeKey">AttributeKey</a>teKey.html#AttributeKey">AttributeKey</a> TASKS_QUEUE = <strong class="jxr_keyword">new</strong> <a name="AttributeKey" href="../../../../../org/apache/mina/core/session/AttributeKey.html#AttributeKey">AttributeKey</a>(PriorityThreadPoolExecutor.<strong class="jxr_keyword">class</strong>, <span class="jxr_string">"tasksQueue"</span>);
<a class="jxr_linenumber" name="L71" href="#L71">71</a>  
<a class="jxr_linenumber" name="L72" href="#L72">72</a>      <em class="jxr_javadoccomment">/** A queue used to store the available sessions */</em>
<a class="jxr_linenumber" name="L73" href="#L73">73</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> BlockingQueue&lt;SessionEntry&gt; waitingSessions;
<a class="jxr_linenumber" name="L74" href="#L74">74</a>  
<a class="jxr_linenumber" name="L75" href="#L75">75</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Set&lt;Worker&gt; workers = <strong class="jxr_keyword">new</strong> HashSet&lt;&gt;();
<a class="jxr_linenumber" name="L76" href="#L76">76</a>  
<a class="jxr_linenumber" name="L77" href="#L77">77</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">int</strong> largestPoolSize;
<a class="jxr_linenumber" name="L78" href="#L78">78</a>  
<a class="jxr_linenumber" name="L79" href="#L79">79</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicInteger idleWorkers = <strong class="jxr_keyword">new</strong> AtomicInteger();
<a class="jxr_linenumber" name="L80" href="#L80">80</a>  
<a class="jxr_linenumber" name="L81" href="#L81">81</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> completedTaskCount;
<a class="jxr_linenumber" name="L82" href="#L82">82</a>  
<a class="jxr_linenumber" name="L83" href="#L83">83</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> shutdown;
<a class="jxr_linenumber" name="L84" href="#L84">84</a>  
<a class="jxr_linenumber" name="L85" href="#L85">85</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="IoEventQueueHandler" href="../../../../../org/apache/mina/filter/executor/IoEventQueueHandler.html#IoEventQueueHandler">IoEventQueueHandler</a> eventQueueHandler;
<a class="jxr_linenumber" name="L86" href="#L86">86</a>  
<a class="jxr_linenumber" name="L87" href="#L87">87</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Comparator&lt;IoSession&gt; comparator;
<a class="jxr_linenumber" name="L88" href="#L88">88</a>  
<a class="jxr_linenumber" name="L89" href="#L89">89</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L90" href="#L90">90</a>  <em class="jxr_javadoccomment">     * Creates a default ThreadPool, with default values : - minimum pool size is 0</em>
<a class="jxr_linenumber" name="L91" href="#L91">91</a>  <em class="jxr_javadoccomment">     * - maximum pool size is 16 - keepAlive set to 30 seconds - A default</em>
<a class="jxr_linenumber" name="L92" href="#L92">92</a>  <em class="jxr_javadoccomment">     * ThreadFactory - All events are accepted</em>
<a class="jxr_linenumber" name="L93" href="#L93">93</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L94" href="#L94">94</a>      <strong class="jxr_keyword">public</strong> <a name="PriorityThreadPoolExecutor" href="../../../../../org/apache/mina/filter/executor/PriorityThreadPoolExecutor.html#PriorityThreadPoolExecutor">PriorityThreadPoolExecutor</a>() {
<a class="jxr_linenumber" name="L95" href="#L95">95</a>          <strong class="jxr_keyword">this</strong>(DEFAULT_INITIAL_THREAD_POOL_SIZE, DEFAULT_MAX_THREAD_POOL, DEFAULT_KEEP_ALIVE, TimeUnit.SECONDS,
<a class="jxr_linenumber" name="L96" href="#L96">96</a>                  Executors.defaultThreadFactory(), <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L97" href="#L97">97</a>      }
<a class="jxr_linenumber" name="L98" href="#L98">98</a>  
<a class="jxr_linenumber" name="L99" href="#L99">99</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L100" href="#L100">100</a> <em class="jxr_javadoccomment">     * Creates a default ThreadPool, with default values : - minimum pool size is 0</em>
<a class="jxr_linenumber" name="L101" href="#L101">101</a> <em class="jxr_javadoccomment">     * - maximum pool size is 16 - keepAlive set to 30 seconds - A default</em>
<a class="jxr_linenumber" name="L102" href="#L102">102</a> <em class="jxr_javadoccomment">     * ThreadFactory - All events are accepted</em>
<a class="jxr_linenumber" name="L103" href="#L103">103</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L104" href="#L104">104</a>     <strong class="jxr_keyword">public</strong> <a name="PriorityThreadPoolExecutor" href="../../../../../org/apache/mina/filter/executor/PriorityThreadPoolExecutor.html#PriorityThreadPoolExecutor">PriorityThreadPoolExecutor</a>(Comparator&lt;IoSession&gt; comparator) {
<a class="jxr_linenumber" name="L105" href="#L105">105</a>         <strong class="jxr_keyword">this</strong>(DEFAULT_INITIAL_THREAD_POOL_SIZE, DEFAULT_MAX_THREAD_POOL, DEFAULT_KEEP_ALIVE, TimeUnit.SECONDS,
<a class="jxr_linenumber" name="L106" href="#L106">106</a>                 Executors.defaultThreadFactory(), <strong class="jxr_keyword">null</strong>, comparator);
<a class="jxr_linenumber" name="L107" href="#L107">107</a>     }
<a class="jxr_linenumber" name="L108" href="#L108">108</a> 
<a class="jxr_linenumber" name="L109" href="#L109">109</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L110" href="#L110">110</a> <em class="jxr_javadoccomment">     * Creates a default ThreadPool, with default values : - minimum pool size is 0</em>
<a class="jxr_linenumber" name="L111" href="#L111">111</a> <em class="jxr_javadoccomment">     * - keepAlive set to 30 seconds - A default ThreadFactory - All events are</em>
<a class="jxr_linenumber" name="L112" href="#L112">112</a> <em class="jxr_javadoccomment">     * accepted</em>
<a class="jxr_linenumber" name="L113" href="#L113">113</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L114" href="#L114">114</a> <em class="jxr_javadoccomment">     * @param maximumPoolSize</em>
<a class="jxr_linenumber" name="L115" href="#L115">115</a> <em class="jxr_javadoccomment">     *            The maximum pool size</em>
<a class="jxr_linenumber" name="L116" href="#L116">116</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L117" href="#L117">117</a>     <strong class="jxr_keyword">public</strong> <a name="PriorityThreadPoolExecutor" href="../../../../../org/apache/mina/filter/executor/PriorityThreadPoolExecutor.html#PriorityThreadPoolExecutor">PriorityThreadPoolExecutor</a>(<strong class="jxr_keyword">int</strong> maximumPoolSize) {
<a class="jxr_linenumber" name="L118" href="#L118">118</a>         <strong class="jxr_keyword">this</strong>(DEFAULT_INITIAL_THREAD_POOL_SIZE, maximumPoolSize, DEFAULT_KEEP_ALIVE, TimeUnit.SECONDS,
<a class="jxr_linenumber" name="L119" href="#L119">119</a>                 Executors.defaultThreadFactory(), <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L120" href="#L120">120</a>     }
<a class="jxr_linenumber" name="L121" href="#L121">121</a> 
<a class="jxr_linenumber" name="L122" href="#L122">122</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L123" href="#L123">123</a> <em class="jxr_javadoccomment">     * Creates a default ThreadPool, with default values : - minimum pool size is 0</em>
<a class="jxr_linenumber" name="L124" href="#L124">124</a> <em class="jxr_javadoccomment">     * - keepAlive set to 30 seconds - A default ThreadFactory - All events are</em>
<a class="jxr_linenumber" name="L125" href="#L125">125</a> <em class="jxr_javadoccomment">     * accepted</em>
<a class="jxr_linenumber" name="L126" href="#L126">126</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L127" href="#L127">127</a> <em class="jxr_javadoccomment">     * @param maximumPoolSize</em>
<a class="jxr_linenumber" name="L128" href="#L128">128</a> <em class="jxr_javadoccomment">     *            The maximum pool size</em>
<a class="jxr_linenumber" name="L129" href="#L129">129</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L130" href="#L130">130</a>     <strong class="jxr_keyword">public</strong> <a name="PriorityThreadPoolExecutor" href="../../../../../org/apache/mina/filter/executor/PriorityThreadPoolExecutor.html#PriorityThreadPoolExecutor">PriorityThreadPoolExecutor</a>(<strong class="jxr_keyword">int</strong> maximumPoolSize, Comparator&lt;IoSession&gt; comparator) {
<a class="jxr_linenumber" name="L131" href="#L131">131</a>         <strong class="jxr_keyword">this</strong>(DEFAULT_INITIAL_THREAD_POOL_SIZE, maximumPoolSize, DEFAULT_KEEP_ALIVE, TimeUnit.SECONDS,
<a class="jxr_linenumber" name="L132" href="#L132">132</a>                 Executors.defaultThreadFactory(), <strong class="jxr_keyword">null</strong>, comparator);
<a class="jxr_linenumber" name="L133" href="#L133">133</a>     }
<a class="jxr_linenumber" name="L134" href="#L134">134</a> 
<a class="jxr_linenumber" name="L135" href="#L135">135</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L136" href="#L136">136</a> <em class="jxr_javadoccomment">     * Creates a default ThreadPool, with default values : - keepAlive set to 30</em>
<a class="jxr_linenumber" name="L137" href="#L137">137</a> <em class="jxr_javadoccomment">     * seconds - A default ThreadFactory - All events are accepted</em>
<a class="jxr_linenumber" name="L138" href="#L138">138</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L139" href="#L139">139</a> <em class="jxr_javadoccomment">     * @param corePoolSize</em>
<a class="jxr_linenumber" name="L140" href="#L140">140</a> <em class="jxr_javadoccomment">     *            The initial pool sizePoolSize</em>
<a class="jxr_linenumber" name="L141" href="#L141">141</a> <em class="jxr_javadoccomment">     * @param maximumPoolSize</em>
<a class="jxr_linenumber" name="L142" href="#L142">142</a> <em class="jxr_javadoccomment">     *            The maximum pool size</em>
<a class="jxr_linenumber" name="L143" href="#L143">143</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L144" href="#L144">144</a>     <strong class="jxr_keyword">public</strong> <a name="PriorityThreadPoolExecutor" href="../../../../../org/apache/mina/filter/executor/PriorityThreadPoolExecutor.html#PriorityThreadPoolExecutor">PriorityThreadPoolExecutor</a>(<strong class="jxr_keyword">int</strong> corePoolSize, <strong class="jxr_keyword">int</strong> maximumPoolSize) {
<a class="jxr_linenumber" name="L145" href="#L145">145</a>         <strong class="jxr_keyword">this</strong>(corePoolSize, maximumPoolSize, DEFAULT_KEEP_ALIVE, TimeUnit.SECONDS, Executors.defaultThreadFactory(),
<a class="jxr_linenumber" name="L146" href="#L146">146</a>                 <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L147" href="#L147">147</a>     }
<a class="jxr_linenumber" name="L148" href="#L148">148</a> 
<a class="jxr_linenumber" name="L149" href="#L149">149</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L150" href="#L150">150</a> <em class="jxr_javadoccomment">     * Creates a default ThreadPool, with default values : - A default ThreadFactory</em>
<a class="jxr_linenumber" name="L151" href="#L151">151</a> <em class="jxr_javadoccomment">     * - All events are accepted</em>
<a class="jxr_linenumber" name="L152" href="#L152">152</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L153" href="#L153">153</a> <em class="jxr_javadoccomment">     * @param corePoolSize</em>
<a class="jxr_linenumber" name="L154" href="#L154">154</a> <em class="jxr_javadoccomment">     *            The initial pool sizePoolSize</em>
<a class="jxr_linenumber" name="L155" href="#L155">155</a> <em class="jxr_javadoccomment">     * @param maximumPoolSize</em>
<a class="jxr_linenumber" name="L156" href="#L156">156</a> <em class="jxr_javadoccomment">     *            The maximum pool size</em>
<a class="jxr_linenumber" name="L157" href="#L157">157</a> <em class="jxr_javadoccomment">     * @param keepAliveTime</em>
<a class="jxr_linenumber" name="L158" href="#L158">158</a> <em class="jxr_javadoccomment">     *            Default duration for a thread</em>
<a class="jxr_linenumber" name="L159" href="#L159">159</a> <em class="jxr_javadoccomment">     * @param unit</em>
<a class="jxr_linenumber" name="L160" href="#L160">160</a> <em class="jxr_javadoccomment">     *            Time unit used for the keepAlive value</em>
<a class="jxr_linenumber" name="L161" href="#L161">161</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L162" href="#L162">162</a>     <strong class="jxr_keyword">public</strong> <a name="PriorityThreadPoolExecutor" href="../../../../../org/apache/mina/filter/executor/PriorityThreadPoolExecutor.html#PriorityThreadPoolExecutor">PriorityThreadPoolExecutor</a>(<strong class="jxr_keyword">int</strong> corePoolSize, <strong class="jxr_keyword">int</strong> maximumPoolSize, <strong class="jxr_keyword">long</strong> keepAliveTime, TimeUnit unit) {
<a class="jxr_linenumber" name="L163" href="#L163">163</a>         <strong class="jxr_keyword">this</strong>(corePoolSize, maximumPoolSize, keepAliveTime, unit, Executors.defaultThreadFactory(), <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L164" href="#L164">164</a>     }
<a class="jxr_linenumber" name="L165" href="#L165">165</a> 
<a class="jxr_linenumber" name="L166" href="#L166">166</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L167" href="#L167">167</a> <em class="jxr_javadoccomment">     * Creates a default ThreadPool, with default values : - A default ThreadFactory</em>
<a class="jxr_linenumber" name="L168" href="#L168">168</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L169" href="#L169">169</a> <em class="jxr_javadoccomment">     * @param corePoolSize</em>
<a class="jxr_linenumber" name="L170" href="#L170">170</a> <em class="jxr_javadoccomment">     *            The initial pool sizePoolSize</em>
<a class="jxr_linenumber" name="L171" href="#L171">171</a> <em class="jxr_javadoccomment">     * @param maximumPoolSize</em>
<a class="jxr_linenumber" name="L172" href="#L172">172</a> <em class="jxr_javadoccomment">     *            The maximum pool size</em>
<a class="jxr_linenumber" name="L173" href="#L173">173</a> <em class="jxr_javadoccomment">     * @param keepAliveTime</em>
<a class="jxr_linenumber" name="L174" href="#L174">174</a> <em class="jxr_javadoccomment">     *            Default duration for a thread</em>
<a class="jxr_linenumber" name="L175" href="#L175">175</a> <em class="jxr_javadoccomment">     * @param unit</em>
<a class="jxr_linenumber" name="L176" href="#L176">176</a> <em class="jxr_javadoccomment">     *            Time unit used for the keepAlive value</em>
<a class="jxr_linenumber" name="L177" href="#L177">177</a> <em class="jxr_javadoccomment">     * @param eventQueueHandler</em>
<a class="jxr_linenumber" name="L178" href="#L178">178</a> <em class="jxr_javadoccomment">     *            The queue used to store events</em>
<a class="jxr_linenumber" name="L179" href="#L179">179</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L180" href="#L180">180</a>     <strong class="jxr_keyword">public</strong> <a name="PriorityThreadPoolExecutor" href="../../../../../org/apache/mina/filter/executor/PriorityThreadPoolExecutor.html#PriorityThreadPoolExecutor">PriorityThreadPoolExecutor</a>(<strong class="jxr_keyword">int</strong> corePoolSize, <strong class="jxr_keyword">int</strong> maximumPoolSize, <strong class="jxr_keyword">long</strong> keepAliveTime, TimeUnit unit,
<a class="jxr_linenumber" name="L181" href="#L181">181</a>             <a name="IoEventQueueHandler" href="../../../../../org/apache/mina/filter/executor/IoEventQueueHandler.html#IoEventQueueHandler">IoEventQueueHandler</a> eventQueueHandler) {
<a class="jxr_linenumber" name="L182" href="#L182">182</a>         <strong class="jxr_keyword">this</strong>(corePoolSize, maximumPoolSize, keepAliveTime, unit, Executors.defaultThreadFactory(), eventQueueHandler,
<a class="jxr_linenumber" name="L183" href="#L183">183</a>                 <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L184" href="#L184">184</a>     }
<a class="jxr_linenumber" name="L185" href="#L185">185</a> 
<a class="jxr_linenumber" name="L186" href="#L186">186</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L187" href="#L187">187</a> <em class="jxr_javadoccomment">     * Creates a default ThreadPool, with default values : - A default ThreadFactory</em>
<a class="jxr_linenumber" name="L188" href="#L188">188</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L189" href="#L189">189</a> <em class="jxr_javadoccomment">     * @param corePoolSize</em>
<a class="jxr_linenumber" name="L190" href="#L190">190</a> <em class="jxr_javadoccomment">     *            The initial pool sizePoolSize</em>
<a class="jxr_linenumber" name="L191" href="#L191">191</a> <em class="jxr_javadoccomment">     * @param maximumPoolSize</em>
<a class="jxr_linenumber" name="L192" href="#L192">192</a> <em class="jxr_javadoccomment">     *            The maximum pool size</em>
<a class="jxr_linenumber" name="L193" href="#L193">193</a> <em class="jxr_javadoccomment">     * @param keepAliveTime</em>
<a class="jxr_linenumber" name="L194" href="#L194">194</a> <em class="jxr_javadoccomment">     *            Default duration for a thread</em>
<a class="jxr_linenumber" name="L195" href="#L195">195</a> <em class="jxr_javadoccomment">     * @param unit</em>
<a class="jxr_linenumber" name="L196" href="#L196">196</a> <em class="jxr_javadoccomment">     *            Time unit used for the keepAlive value</em>
<a class="jxr_linenumber" name="L197" href="#L197">197</a> <em class="jxr_javadoccomment">     * @param threadFactory</em>
<a class="jxr_linenumber" name="L198" href="#L198">198</a> <em class="jxr_javadoccomment">     *            The factory used to create threads</em>
<a class="jxr_linenumber" name="L199" href="#L199">199</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L200" href="#L200">200</a>     <strong class="jxr_keyword">public</strong> <a name="PriorityThreadPoolExecutor" href="../../../../../org/apache/mina/filter/executor/PriorityThreadPoolExecutor.html#PriorityThreadPoolExecutor">PriorityThreadPoolExecutor</a>(<strong class="jxr_keyword">int</strong> corePoolSize, <strong class="jxr_keyword">int</strong> maximumPoolSize, <strong class="jxr_keyword">long</strong> keepAliveTime, TimeUnit unit,
<a class="jxr_linenumber" name="L201" href="#L201">201</a>             ThreadFactory threadFactory) {
<a class="jxr_linenumber" name="L202" href="#L202">202</a>         <strong class="jxr_keyword">this</strong>(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L203" href="#L203">203</a>     }
<a class="jxr_linenumber" name="L204" href="#L204">204</a> 
<a class="jxr_linenumber" name="L205" href="#L205">205</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L206" href="#L206">206</a> <em class="jxr_javadoccomment">     * Creates a new instance of a PrioritisedOrderedThreadPoolExecutor.</em>
<a class="jxr_linenumber" name="L207" href="#L207">207</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L208" href="#L208">208</a> <em class="jxr_javadoccomment">     * @param corePoolSize</em>
<a class="jxr_linenumber" name="L209" href="#L209">209</a> <em class="jxr_javadoccomment">     *            The initial pool sizePoolSize</em>
<a class="jxr_linenumber" name="L210" href="#L210">210</a> <em class="jxr_javadoccomment">     * @param maximumPoolSize</em>
<a class="jxr_linenumber" name="L211" href="#L211">211</a> <em class="jxr_javadoccomment">     *            The maximum pool size</em>
<a class="jxr_linenumber" name="L212" href="#L212">212</a> <em class="jxr_javadoccomment">     * @param keepAliveTime</em>
<a class="jxr_linenumber" name="L213" href="#L213">213</a> <em class="jxr_javadoccomment">     *            Default duration for a thread</em>
<a class="jxr_linenumber" name="L214" href="#L214">214</a> <em class="jxr_javadoccomment">     * @param unit</em>
<a class="jxr_linenumber" name="L215" href="#L215">215</a> <em class="jxr_javadoccomment">     *            Time unit used for the keepAlive value</em>
<a class="jxr_linenumber" name="L216" href="#L216">216</a> <em class="jxr_javadoccomment">     * @param threadFactory</em>
<a class="jxr_linenumber" name="L217" href="#L217">217</a> <em class="jxr_javadoccomment">     *            The factory used to create threads</em>
<a class="jxr_linenumber" name="L218" href="#L218">218</a> <em class="jxr_javadoccomment">     * @param eventQueueHandler</em>
<a class="jxr_linenumber" name="L219" href="#L219">219</a> <em class="jxr_javadoccomment">     *            The queue used to store events</em>
<a class="jxr_linenumber" name="L220" href="#L220">220</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L221" href="#L221">221</a>     <strong class="jxr_keyword">public</strong> <a name="PriorityThreadPoolExecutor" href="../../../../../org/apache/mina/filter/executor/PriorityThreadPoolExecutor.html#PriorityThreadPoolExecutor">PriorityThreadPoolExecutor</a>(<strong class="jxr_keyword">int</strong> corePoolSize, <strong class="jxr_keyword">int</strong> maximumPoolSize, <strong class="jxr_keyword">long</strong> keepAliveTime, TimeUnit unit,
<a class="jxr_linenumber" name="L222" href="#L222">222</a>             ThreadFactory threadFactory, <a name="IoEventQueueHandler" href="../../../../../org/apache/mina/filter/executor/IoEventQueueHandler.html#IoEventQueueHandler">IoEventQueueHandler</a> eventQueueHandler, Comparator&lt;IoSession&gt; comparator) {
<a class="jxr_linenumber" name="L223" href="#L223">223</a>         <em class="jxr_comment">// We have to initialize the pool with default values (0 and 1) in order</em>
<a class="jxr_linenumber" name="L224" href="#L224">224</a>         <em class="jxr_comment">// to</em>
<a class="jxr_linenumber" name="L225" href="#L225">225</a>         <em class="jxr_comment">// handle the exception in a better way. We can't add a try {} catch()</em>
<a class="jxr_linenumber" name="L226" href="#L226">226</a>         <em class="jxr_comment">// {}</em>
<a class="jxr_linenumber" name="L227" href="#L227">227</a>         <em class="jxr_comment">// around the super() call.</em>
<a class="jxr_linenumber" name="L228" href="#L228">228</a>         <strong class="jxr_keyword">super</strong>(DEFAULT_INITIAL_THREAD_POOL_SIZE, 1, keepAliveTime, unit, <strong class="jxr_keyword">new</strong> SynchronousQueue&lt;Runnable&gt;(), threadFactory,
<a class="jxr_linenumber" name="L229" href="#L229">229</a>                 <strong class="jxr_keyword">new</strong> AbortPolicy());
<a class="jxr_linenumber" name="L230" href="#L230">230</a> 
<a class="jxr_linenumber" name="L231" href="#L231">231</a>         <strong class="jxr_keyword">if</strong> (corePoolSize &lt; DEFAULT_INITIAL_THREAD_POOL_SIZE) {
<a class="jxr_linenumber" name="L232" href="#L232">232</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"corePoolSize: "</span> + corePoolSize);
<a class="jxr_linenumber" name="L233" href="#L233">233</a>         }
<a class="jxr_linenumber" name="L234" href="#L234">234</a> 
<a class="jxr_linenumber" name="L235" href="#L235">235</a>         <strong class="jxr_keyword">if</strong> ((maximumPoolSize &lt;= 0) || (maximumPoolSize &lt; corePoolSize)) {
<a class="jxr_linenumber" name="L236" href="#L236">236</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"maximumPoolSize: "</span> + maximumPoolSize);
<a class="jxr_linenumber" name="L237" href="#L237">237</a>         }
<a class="jxr_linenumber" name="L238" href="#L238">238</a> 
<a class="jxr_linenumber" name="L239" href="#L239">239</a>         <em class="jxr_comment">// Now, we can setup the pool sizes</em>
<a class="jxr_linenumber" name="L240" href="#L240">240</a>         <strong class="jxr_keyword">super</strong>.setMaximumPoolSize(maximumPoolSize);
<a class="jxr_linenumber" name="L241" href="#L241">241</a>         <strong class="jxr_keyword">super</strong>.setCorePoolSize(corePoolSize);
<a class="jxr_linenumber" name="L242" href="#L242">242</a> 
<a class="jxr_linenumber" name="L243" href="#L243">243</a>         <em class="jxr_comment">// The queueHandler might be null.</em>
<a class="jxr_linenumber" name="L244" href="#L244">244</a>         <strong class="jxr_keyword">if</strong> (eventQueueHandler == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L245" href="#L245">245</a>             <strong class="jxr_keyword">this</strong>.eventQueueHandler = IoEventQueueHandler.NOOP;
<a class="jxr_linenumber" name="L246" href="#L246">246</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L247" href="#L247">247</a>             <strong class="jxr_keyword">this</strong>.eventQueueHandler = eventQueueHandler;
<a class="jxr_linenumber" name="L248" href="#L248">248</a>         }
<a class="jxr_linenumber" name="L249" href="#L249">249</a> 
<a class="jxr_linenumber" name="L250" href="#L250">250</a>         <em class="jxr_comment">// The comparator can be null.</em>
<a class="jxr_linenumber" name="L251" href="#L251">251</a>         <strong class="jxr_keyword">this</strong>.comparator = comparator;
<a class="jxr_linenumber" name="L252" href="#L252">252</a> 
<a class="jxr_linenumber" name="L253" href="#L253">253</a>         <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.comparator == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L254" href="#L254">254</a>             <strong class="jxr_keyword">this</strong>.waitingSessions = <strong class="jxr_keyword">new</strong> LinkedBlockingQueue&lt;&gt;();
<a class="jxr_linenumber" name="L255" href="#L255">255</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L256" href="#L256">256</a>             <strong class="jxr_keyword">this</strong>.waitingSessions = <strong class="jxr_keyword">new</strong> PriorityBlockingQueue&lt;&gt;();
<a class="jxr_linenumber" name="L257" href="#L257">257</a>         }
<a class="jxr_linenumber" name="L258" href="#L258">258</a>     }
<a class="jxr_linenumber" name="L259" href="#L259">259</a> 
<a class="jxr_linenumber" name="L260" href="#L260">260</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L261" href="#L261">261</a> <em class="jxr_javadoccomment">     * Get the session's tasks queue.</em>
<a class="jxr_linenumber" name="L262" href="#L262">262</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L263" href="#L263">263</a>     <strong class="jxr_keyword">private</strong> SessionQueue getSessionTasksQueue(<a name="IoSession" href="../../../../../org/apache/mina/core/session/IoSession.html#IoSession">IoSession</a> session) {
<a class="jxr_linenumber" name="L264" href="#L264">264</a>         SessionQueue queue = (SessionQueue) session.getAttribute(TASKS_QUEUE);
<a class="jxr_linenumber" name="L265" href="#L265">265</a> 
<a class="jxr_linenumber" name="L266" href="#L266">266</a>         <strong class="jxr_keyword">if</strong> (queue == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L267" href="#L267">267</a>             queue = <strong class="jxr_keyword">new</strong> SessionQueue();
<a class="jxr_linenumber" name="L268" href="#L268">268</a>             SessionQueue oldQueue = (SessionQueue) session.setAttributeIfAbsent(TASKS_QUEUE, queue);
<a class="jxr_linenumber" name="L269" href="#L269">269</a> 
<a class="jxr_linenumber" name="L270" href="#L270">270</a>             <strong class="jxr_keyword">if</strong> (oldQueue != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L271" href="#L271">271</a>                 queue = oldQueue;
<a class="jxr_linenumber" name="L272" href="#L272">272</a>             }
<a class="jxr_linenumber" name="L273" href="#L273">273</a>         }
<a class="jxr_linenumber" name="L274" href="#L274">274</a> 
<a class="jxr_linenumber" name="L275" href="#L275">275</a>         <strong class="jxr_keyword">return</strong> queue;
<a class="jxr_linenumber" name="L276" href="#L276">276</a>     }
<a class="jxr_linenumber" name="L277" href="#L277">277</a> 
<a class="jxr_linenumber" name="L278" href="#L278">278</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L279" href="#L279">279</a> <em class="jxr_javadoccomment">     * @return The associated queue handler.</em>
<a class="jxr_linenumber" name="L280" href="#L280">280</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L281" href="#L281">281</a>     <strong class="jxr_keyword">public</strong> <a name="IoEventQueueHandler" href="../../../../../org/apache/mina/filter/executor/IoEventQueueHandler.html#IoEventQueueHandler">IoEventQueueHandler</a> getQueueHandler() {
<a class="jxr_linenumber" name="L282" href="#L282">282</a>         <strong class="jxr_keyword">return</strong> eventQueueHandler;
<a class="jxr_linenumber" name="L283" href="#L283">283</a>     }
<a class="jxr_linenumber" name="L284" href="#L284">284</a> 
<a class="jxr_linenumber" name="L285" href="#L285">285</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L286" href="#L286">286</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L287" href="#L287">287</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L288" href="#L288">288</a>     @Override
<a class="jxr_linenumber" name="L289" href="#L289">289</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRejectedExecutionHandler(RejectedExecutionHandler handler) {
<a class="jxr_linenumber" name="L290" href="#L290">290</a>         <em class="jxr_comment">// Ignore the request. It must always be AbortPolicy.</em>
<a class="jxr_linenumber" name="L291" href="#L291">291</a>     }
<a class="jxr_linenumber" name="L292" href="#L292">292</a> 
<a class="jxr_linenumber" name="L293" href="#L293">293</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L294" href="#L294">294</a> <em class="jxr_javadoccomment">     * Add a new thread to execute a task, if needed and possible. It depends on the</em>
<a class="jxr_linenumber" name="L295" href="#L295">295</a> <em class="jxr_javadoccomment">     * current pool size. If it's full, we do nothing.</em>
<a class="jxr_linenumber" name="L296" href="#L296">296</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L297" href="#L297">297</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addWorker() {
<a class="jxr_linenumber" name="L298" href="#L298">298</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L299" href="#L299">299</a>             <strong class="jxr_keyword">if</strong> (workers.size() &gt;= <strong class="jxr_keyword">super</strong>.getMaximumPoolSize()) {
<a class="jxr_linenumber" name="L300" href="#L300">300</a>                 <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L301" href="#L301">301</a>             }
<a class="jxr_linenumber" name="L302" href="#L302">302</a> 
<a class="jxr_linenumber" name="L303" href="#L303">303</a>             <em class="jxr_comment">// Create a new worker, and add it to the thread pool</em>
<a class="jxr_linenumber" name="L304" href="#L304">304</a>             Worker worker = <strong class="jxr_keyword">new</strong> Worker();
<a class="jxr_linenumber" name="L305" href="#L305">305</a>             Thread thread = getThreadFactory().newThread(worker);
<a class="jxr_linenumber" name="L306" href="#L306">306</a> 
<a class="jxr_linenumber" name="L307" href="#L307">307</a>             <em class="jxr_comment">// As we have added a new thread, it's considered as idle.</em>
<a class="jxr_linenumber" name="L308" href="#L308">308</a>             idleWorkers.incrementAndGet();
<a class="jxr_linenumber" name="L309" href="#L309">309</a> 
<a class="jxr_linenumber" name="L310" href="#L310">310</a>             <em class="jxr_comment">// Now, we can start it.</em>
<a class="jxr_linenumber" name="L311" href="#L311">311</a>             thread.start();
<a class="jxr_linenumber" name="L312" href="#L312">312</a>             workers.add(worker);
<a class="jxr_linenumber" name="L313" href="#L313">313</a> 
<a class="jxr_linenumber" name="L314" href="#L314">314</a>             <strong class="jxr_keyword">if</strong> (workers.size() &gt; largestPoolSize) {
<a class="jxr_linenumber" name="L315" href="#L315">315</a>                 largestPoolSize = workers.size();
<a class="jxr_linenumber" name="L316" href="#L316">316</a>             }
<a class="jxr_linenumber" name="L317" href="#L317">317</a>         }
<a class="jxr_linenumber" name="L318" href="#L318">318</a>     }
<a class="jxr_linenumber" name="L319" href="#L319">319</a> 
<a class="jxr_linenumber" name="L320" href="#L320">320</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L321" href="#L321">321</a> <em class="jxr_javadoccomment">     * Add a new Worker only if there are no idle worker.</em>
<a class="jxr_linenumber" name="L322" href="#L322">322</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L323" href="#L323">323</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addWorkerIfNecessary() {
<a class="jxr_linenumber" name="L324" href="#L324">324</a>         <strong class="jxr_keyword">if</strong> (idleWorkers.get() == 0) {
<a class="jxr_linenumber" name="L325" href="#L325">325</a>             <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L326" href="#L326">326</a>                 <strong class="jxr_keyword">if</strong> (workers.isEmpty() || (idleWorkers.get() == 0)) {
<a class="jxr_linenumber" name="L327" href="#L327">327</a>                     addWorker();
<a class="jxr_linenumber" name="L328" href="#L328">328</a>                 }
<a class="jxr_linenumber" name="L329" href="#L329">329</a>             }
<a class="jxr_linenumber" name="L330" href="#L330">330</a>         }
<a class="jxr_linenumber" name="L331" href="#L331">331</a>     }
<a class="jxr_linenumber" name="L332" href="#L332">332</a> 
<a class="jxr_linenumber" name="L333" href="#L333">333</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> removeWorker() {
<a class="jxr_linenumber" name="L334" href="#L334">334</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L335" href="#L335">335</a>             <strong class="jxr_keyword">if</strong> (workers.size() &lt;= <strong class="jxr_keyword">super</strong>.getCorePoolSize()) {
<a class="jxr_linenumber" name="L336" href="#L336">336</a>                 <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L337" href="#L337">337</a>             }
<a class="jxr_linenumber" name="L338" href="#L338">338</a>             waitingSessions.offer(EXIT_SIGNAL);
<a class="jxr_linenumber" name="L339" href="#L339">339</a>         }
<a class="jxr_linenumber" name="L340" href="#L340">340</a>     }
<a class="jxr_linenumber" name="L341" href="#L341">341</a> 
<a class="jxr_linenumber" name="L342" href="#L342">342</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L343" href="#L343">343</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L344" href="#L344">344</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L345" href="#L345">345</a>     @Override
<a class="jxr_linenumber" name="L346" href="#L346">346</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMaximumPoolSize(<strong class="jxr_keyword">int</strong> maximumPoolSize) {
<a class="jxr_linenumber" name="L347" href="#L347">347</a>         <strong class="jxr_keyword">if</strong> ((maximumPoolSize &lt;= 0) || (maximumPoolSize &lt; <strong class="jxr_keyword">super</strong>.getCorePoolSize())) {
<a class="jxr_linenumber" name="L348" href="#L348">348</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"maximumPoolSize: "</span> + maximumPoolSize);
<a class="jxr_linenumber" name="L349" href="#L349">349</a>         }
<a class="jxr_linenumber" name="L350" href="#L350">350</a> 
<a class="jxr_linenumber" name="L351" href="#L351">351</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L352" href="#L352">352</a>             <strong class="jxr_keyword">super</strong>.setMaximumPoolSize(maximumPoolSize);
<a class="jxr_linenumber" name="L353" href="#L353">353</a>             <strong class="jxr_keyword">int</strong> difference = workers.size() - maximumPoolSize;
<a class="jxr_linenumber" name="L354" href="#L354">354</a>             <strong class="jxr_keyword">while</strong> (difference &gt; 0) {
<a class="jxr_linenumber" name="L355" href="#L355">355</a>                 removeWorker();
<a class="jxr_linenumber" name="L356" href="#L356">356</a>                 --difference;
<a class="jxr_linenumber" name="L357" href="#L357">357</a>             }
<a class="jxr_linenumber" name="L358" href="#L358">358</a>         }
<a class="jxr_linenumber" name="L359" href="#L359">359</a>     }
<a class="jxr_linenumber" name="L360" href="#L360">360</a> 
<a class="jxr_linenumber" name="L361" href="#L361">361</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L362" href="#L362">362</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L363" href="#L363">363</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L364" href="#L364">364</a>     @Override
<a class="jxr_linenumber" name="L365" href="#L365">365</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> awaitTermination(<strong class="jxr_keyword">long</strong> timeout, TimeUnit unit) <strong class="jxr_keyword">throws</strong> InterruptedException {
<a class="jxr_linenumber" name="L366" href="#L366">366</a> 
<a class="jxr_linenumber" name="L367" href="#L367">367</a>         <strong class="jxr_keyword">long</strong> deadline = System.currentTimeMillis() + unit.toMillis(timeout);
<a class="jxr_linenumber" name="L368" href="#L368">368</a> 
<a class="jxr_linenumber" name="L369" href="#L369">369</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L370" href="#L370">370</a>             <strong class="jxr_keyword">while</strong> (!isTerminated()) {
<a class="jxr_linenumber" name="L371" href="#L371">371</a>                 <strong class="jxr_keyword">long</strong> waitTime = deadline - System.currentTimeMillis();
<a class="jxr_linenumber" name="L372" href="#L372">372</a>                 <strong class="jxr_keyword">if</strong> (waitTime &lt;= 0) {
<a class="jxr_linenumber" name="L373" href="#L373">373</a>                     <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="L374" href="#L374">374</a>                 }
<a class="jxr_linenumber" name="L375" href="#L375">375</a> 
<a class="jxr_linenumber" name="L376" href="#L376">376</a>                 workers.wait(waitTime);
<a class="jxr_linenumber" name="L377" href="#L377">377</a>             }
<a class="jxr_linenumber" name="L378" href="#L378">378</a>         }
<a class="jxr_linenumber" name="L379" href="#L379">379</a>         <strong class="jxr_keyword">return</strong> isTerminated();
<a class="jxr_linenumber" name="L380" href="#L380">380</a>     }
<a class="jxr_linenumber" name="L381" href="#L381">381</a> 
<a class="jxr_linenumber" name="L382" href="#L382">382</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L383" href="#L383">383</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L384" href="#L384">384</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L385" href="#L385">385</a>     @Override
<a class="jxr_linenumber" name="L386" href="#L386">386</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isShutdown() {
<a class="jxr_linenumber" name="L387" href="#L387">387</a>         <strong class="jxr_keyword">return</strong> shutdown;
<a class="jxr_linenumber" name="L388" href="#L388">388</a>     }
<a class="jxr_linenumber" name="L389" href="#L389">389</a> 
<a class="jxr_linenumber" name="L390" href="#L390">390</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L391" href="#L391">391</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L392" href="#L392">392</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L393" href="#L393">393</a>     @Override
<a class="jxr_linenumber" name="L394" href="#L394">394</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isTerminated() {
<a class="jxr_linenumber" name="L395" href="#L395">395</a>         <strong class="jxr_keyword">if</strong> (!shutdown) {
<a class="jxr_linenumber" name="L396" href="#L396">396</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L397" href="#L397">397</a>         }
<a class="jxr_linenumber" name="L398" href="#L398">398</a> 
<a class="jxr_linenumber" name="L399" href="#L399">399</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L400" href="#L400">400</a>             <strong class="jxr_keyword">return</strong> workers.isEmpty();
<a class="jxr_linenumber" name="L401" href="#L401">401</a>         }
<a class="jxr_linenumber" name="L402" href="#L402">402</a>     }
<a class="jxr_linenumber" name="L403" href="#L403">403</a> 
<a class="jxr_linenumber" name="L404" href="#L404">404</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L405" href="#L405">405</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L406" href="#L406">406</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L407" href="#L407">407</a>     @Override
<a class="jxr_linenumber" name="L408" href="#L408">408</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> shutdown() {
<a class="jxr_linenumber" name="L409" href="#L409">409</a>         <strong class="jxr_keyword">if</strong> (shutdown) {
<a class="jxr_linenumber" name="L410" href="#L410">410</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L411" href="#L411">411</a>         }
<a class="jxr_linenumber" name="L412" href="#L412">412</a> 
<a class="jxr_linenumber" name="L413" href="#L413">413</a>         shutdown = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L414" href="#L414">414</a> 
<a class="jxr_linenumber" name="L415" href="#L415">415</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L416" href="#L416">416</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = workers.size(); i &gt; 0; i--) {
<a class="jxr_linenumber" name="L417" href="#L417">417</a>                 waitingSessions.offer(EXIT_SIGNAL);
<a class="jxr_linenumber" name="L418" href="#L418">418</a>             }
<a class="jxr_linenumber" name="L419" href="#L419">419</a>         }
<a class="jxr_linenumber" name="L420" href="#L420">420</a>     }
<a class="jxr_linenumber" name="L421" href="#L421">421</a> 
<a class="jxr_linenumber" name="L422" href="#L422">422</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L423" href="#L423">423</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L424" href="#L424">424</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L425" href="#L425">425</a>     @Override
<a class="jxr_linenumber" name="L426" href="#L426">426</a>     <strong class="jxr_keyword">public</strong> List&lt;Runnable&gt; shutdownNow() {
<a class="jxr_linenumber" name="L427" href="#L427">427</a>         shutdown();
<a class="jxr_linenumber" name="L428" href="#L428">428</a> 
<a class="jxr_linenumber" name="L429" href="#L429">429</a>         List&lt;Runnable&gt; answer = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L430" href="#L430">430</a>         SessionEntry entry;
<a class="jxr_linenumber" name="L431" href="#L431">431</a> 
<a class="jxr_linenumber" name="L432" href="#L432">432</a>         <strong class="jxr_keyword">while</strong> ((entry = waitingSessions.poll()) != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L433" href="#L433">433</a>             <strong class="jxr_keyword">if</strong> (entry == EXIT_SIGNAL) {
<a class="jxr_linenumber" name="L434" href="#L434">434</a>                 waitingSessions.offer(EXIT_SIGNAL);
<a class="jxr_linenumber" name="L435" href="#L435">435</a>                 Thread.yield(); <em class="jxr_comment">// Let others take the signal.</em>
<a class="jxr_linenumber" name="L436" href="#L436">436</a>                 <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="L437" href="#L437">437</a>             }
<a class="jxr_linenumber" name="L438" href="#L438">438</a> 
<a class="jxr_linenumber" name="L439" href="#L439">439</a>             SessionQueue sessionTasksQueue = (SessionQueue) entry.getSession().getAttribute(TASKS_QUEUE);
<a class="jxr_linenumber" name="L440" href="#L440">440</a> 
<a class="jxr_linenumber" name="L441" href="#L441">441</a>             <strong class="jxr_keyword">synchronized</strong> (sessionTasksQueue.tasksQueue) {
<a class="jxr_linenumber" name="L442" href="#L442">442</a> 
<a class="jxr_linenumber" name="L443" href="#L443">443</a>                 <strong class="jxr_keyword">for</strong> (Runnable task : sessionTasksQueue.tasksQueue) {
<a class="jxr_linenumber" name="L444" href="#L444">444</a>                     getQueueHandler().polled(<strong class="jxr_keyword">this</strong>, (<a name="IoEvent" href="../../../../../org/apache/mina/core/session/IoEvent.html#IoEvent">IoEvent</a>) task);
<a class="jxr_linenumber" name="L445" href="#L445">445</a>                     answer.add(task);
<a class="jxr_linenumber" name="L446" href="#L446">446</a>                 }
<a class="jxr_linenumber" name="L447" href="#L447">447</a> 
<a class="jxr_linenumber" name="L448" href="#L448">448</a>                 sessionTasksQueue.tasksQueue.clear();
<a class="jxr_linenumber" name="L449" href="#L449">449</a>             }
<a class="jxr_linenumber" name="L450" href="#L450">450</a>         }
<a class="jxr_linenumber" name="L451" href="#L451">451</a> 
<a class="jxr_linenumber" name="L452" href="#L452">452</a>         <strong class="jxr_keyword">return</strong> answer;
<a class="jxr_linenumber" name="L453" href="#L453">453</a>     }
<a class="jxr_linenumber" name="L454" href="#L454">454</a> 
<a class="jxr_linenumber" name="L455" href="#L455">455</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L456" href="#L456">456</a> <em class="jxr_javadoccomment">     * A Helper class used to print the list of events being queued.</em>
<a class="jxr_linenumber" name="L457" href="#L457">457</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L458" href="#L458">458</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> print(Queue&lt;Runnable&gt; queue, <a name="IoEvent" href="../../../../../org/apache/mina/core/session/IoEvent.html#IoEvent">IoEvent</a> event) {
<a class="jxr_linenumber" name="L459" href="#L459">459</a>         StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
<a class="jxr_linenumber" name="L460" href="#L460">460</a>         sb.append(<span class="jxr_string">"Adding event "</span>).append(event.getType()).append(<span class="jxr_string">" to session "</span>).append(event.getSession().getId());
<a class="jxr_linenumber" name="L461" href="#L461">461</a>         <strong class="jxr_keyword">boolean</strong> first = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L462" href="#L462">462</a>         sb.append(<span class="jxr_string">"\nQueue : ["</span>);
<a class="jxr_linenumber" name="L463" href="#L463">463</a>         <strong class="jxr_keyword">for</strong> (Runnable elem : queue) {
<a class="jxr_linenumber" name="L464" href="#L464">464</a>             <strong class="jxr_keyword">if</strong> (first) {
<a class="jxr_linenumber" name="L465" href="#L465">465</a>                 first = false;
<a class="jxr_linenumber" name="L466" href="#L466">466</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L467" href="#L467">467</a>                 sb.append(<span class="jxr_string">", "</span>);
<a class="jxr_linenumber" name="L468" href="#L468">468</a>             }
<a class="jxr_linenumber" name="L469" href="#L469">469</a> 
<a class="jxr_linenumber" name="L470" href="#L470">470</a>             sb.append(((<a name="IoEvent" href="../../../../../org/apache/mina/core/session/IoEvent.html#IoEvent">IoEvent</a>) elem).getType()).append(<span class="jxr_string">", "</span>);
<a class="jxr_linenumber" name="L471" href="#L471">471</a>         }
<a class="jxr_linenumber" name="L472" href="#L472">472</a>         sb.append(<span class="jxr_string">"]\n"</span>);
<a class="jxr_linenumber" name="L473" href="#L473">473</a>         LOGGER.debug(sb.toString());
<a class="jxr_linenumber" name="L474" href="#L474">474</a>     }
<a class="jxr_linenumber" name="L475" href="#L475">475</a> 
<a class="jxr_linenumber" name="L476" href="#L476">476</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L477" href="#L477">477</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L478" href="#L478">478</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L479" href="#L479">479</a>     @Override
<a class="jxr_linenumber" name="L480" href="#L480">480</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute(Runnable task) {
<a class="jxr_linenumber" name="L481" href="#L481">481</a>         <strong class="jxr_keyword">if</strong> (shutdown) {
<a class="jxr_linenumber" name="L482" href="#L482">482</a>             rejectTask(task);
<a class="jxr_linenumber" name="L483" href="#L483">483</a>         }
<a class="jxr_linenumber" name="L484" href="#L484">484</a> 
<a class="jxr_linenumber" name="L485" href="#L485">485</a>         <em class="jxr_comment">// Check that it's a IoEvent task</em>
<a class="jxr_linenumber" name="L486" href="#L486">486</a>         checkTaskType(task);
<a class="jxr_linenumber" name="L487" href="#L487">487</a> 
<a class="jxr_linenumber" name="L488" href="#L488">488</a>         <a name="IoEvent"<a name="IoEvent" href="../../../../../org/apache/mina/core/session/IoEvent.html#IoEvent">IoEvent</a>../../../../../org/apache/mina/core/session/IoEvent.html#IoEvent">IoEvent</a> event = (<a name="IoEvent" href="../../../../../org/apache/mina/core/session/IoEvent.html#IoEvent">IoEvent</a>) task;
<a class="jxr_linenumber" name="L489" href="#L489">489</a> 
<a class="jxr_linenumber" name="L490" href="#L490">490</a>         <em class="jxr_comment">// Get the associated session</em>
<a class="jxr_linenumber" name="L491" href="#L491">491</a>         <a name="IoSession" href="../../../../../org/apache/mina/core/session/IoSession.html#IoSession">IoSession</a> session = event.getSession();
<a class="jxr_linenumber" name="L492" href="#L492">492</a> 
<a class="jxr_linenumber" name="L493" href="#L493">493</a>         <em class="jxr_comment">// Get the session's queue of events</em>
<a class="jxr_linenumber" name="L494" href="#L494">494</a>         SessionQueue sessionTasksQueue = getSessionTasksQueue(session);
<a class="jxr_linenumber" name="L495" href="#L495">495</a>         Queue&lt;Runnable&gt; tasksQueue = sessionTasksQueue.tasksQueue;
<a class="jxr_linenumber" name="L496" href="#L496">496</a> 
<a class="jxr_linenumber" name="L497" href="#L497">497</a>         <strong class="jxr_keyword">boolean</strong> offerSession;
<a class="jxr_linenumber" name="L498" href="#L498">498</a> 
<a class="jxr_linenumber" name="L499" href="#L499">499</a>         <em class="jxr_comment">// propose the new event to the event queue handler. If we</em>
<a class="jxr_linenumber" name="L500" href="#L500">500</a>         <em class="jxr_comment">// use a throttle queue handler, the message may be rejected</em>
<a class="jxr_linenumber" name="L501" href="#L501">501</a>         <em class="jxr_comment">// if the maximum size has been reached.</em>
<a class="jxr_linenumber" name="L502" href="#L502">502</a>         <strong class="jxr_keyword">boolean</strong> offerEvent = eventQueueHandler.accept(<strong class="jxr_keyword">this</strong>, event);
<a class="jxr_linenumber" name="L503" href="#L503">503</a> 
<a class="jxr_linenumber" name="L504" href="#L504">504</a>         <strong class="jxr_keyword">if</strong> (offerEvent) {
<a class="jxr_linenumber" name="L505" href="#L505">505</a>             <em class="jxr_comment">// Ok, the message has been accepted</em>
<a class="jxr_linenumber" name="L506" href="#L506">506</a>             <strong class="jxr_keyword">synchronized</strong> (tasksQueue) {
<a class="jxr_linenumber" name="L507" href="#L507">507</a>                 <em class="jxr_comment">// Inject the event into the executor taskQueue</em>
<a class="jxr_linenumber" name="L508" href="#L508">508</a>                 tasksQueue.offer(event);
<a class="jxr_linenumber" name="L509" href="#L509">509</a> 
<a class="jxr_linenumber" name="L510" href="#L510">510</a>                 <strong class="jxr_keyword">if</strong> (sessionTasksQueue.processingCompleted) {
<a class="jxr_linenumber" name="L511" href="#L511">511</a>                     sessionTasksQueue.processingCompleted = false;
<a class="jxr_linenumber" name="L512" href="#L512">512</a>                     offerSession = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L513" href="#L513">513</a>                 } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L514" href="#L514">514</a>                     offerSession = false;
<a class="jxr_linenumber" name="L515" href="#L515">515</a>                 }
<a class="jxr_linenumber" name="L516" href="#L516">516</a> 
<a class="jxr_linenumber" name="L517" href="#L517">517</a>                 <strong class="jxr_keyword">if</strong> (LOGGER.isDebugEnabled()) {
<a class="jxr_linenumber" name="L518" href="#L518">518</a>                     print(tasksQueue, event);
<a class="jxr_linenumber" name="L519" href="#L519">519</a>                 }
<a class="jxr_linenumber" name="L520" href="#L520">520</a>             }
<a class="jxr_linenumber" name="L521" href="#L521">521</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L522" href="#L522">522</a>             offerSession = false;
<a class="jxr_linenumber" name="L523" href="#L523">523</a>         }
<a class="jxr_linenumber" name="L524" href="#L524">524</a> 
<a class="jxr_linenumber" name="L525" href="#L525">525</a>         <strong class="jxr_keyword">if</strong> (offerSession) {
<a class="jxr_linenumber" name="L526" href="#L526">526</a>             <em class="jxr_comment">// As the tasksQueue was empty, the task has been executed</em>
<a class="jxr_linenumber" name="L527" href="#L527">527</a>             <em class="jxr_comment">// immediately, so we can move the session to the queue</em>
<a class="jxr_linenumber" name="L528" href="#L528">528</a>             <em class="jxr_comment">// of sessions waiting for completion.</em>
<a class="jxr_linenumber" name="L529" href="#L529">529</a>             waitingSessions.offer(<strong class="jxr_keyword">new</strong> SessionEntry(session, comparator));
<a class="jxr_linenumber" name="L530" href="#L530">530</a>         }
<a class="jxr_linenumber" name="L531" href="#L531">531</a> 
<a class="jxr_linenumber" name="L532" href="#L532">532</a>         addWorkerIfNecessary();
<a class="jxr_linenumber" name="L533" href="#L533">533</a> 
<a class="jxr_linenumber" name="L534" href="#L534">534</a>         <strong class="jxr_keyword">if</strong> (offerEvent) {
<a class="jxr_linenumber" name="L535" href="#L535">535</a>             eventQueueHandler.offered(<strong class="jxr_keyword">this</strong>, event);
<a class="jxr_linenumber" name="L536" href="#L536">536</a>         }
<a class="jxr_linenumber" name="L537" href="#L537">537</a>     }
<a class="jxr_linenumber" name="L538" href="#L538">538</a> 
<a class="jxr_linenumber" name="L539" href="#L539">539</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> rejectTask(Runnable task) {
<a class="jxr_linenumber" name="L540" href="#L540">540</a>         getRejectedExecutionHandler().rejectedExecution(task, <strong class="jxr_keyword">this</strong>);
<a class="jxr_linenumber" name="L541" href="#L541">541</a>     }
<a class="jxr_linenumber" name="L542" href="#L542">542</a> 
<a class="jxr_linenumber" name="L543" href="#L543">543</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkTaskType(Runnable task) {
<a class="jxr_linenumber" name="L544" href="#L544">544</a>         <strong class="jxr_keyword">if</strong> (!(task instanceof <a name="IoEvent" href="../../../../../org/apache/mina/core/session/IoEvent.html#IoEvent">IoEvent</a>)) {
<a class="jxr_linenumber" name="L545" href="#L545">545</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"task must be an IoEvent or its subclass."</span>);
<a class="jxr_linenumber" name="L546" href="#L546">546</a>         }
<a class="jxr_linenumber" name="L547" href="#L547">547</a>     }
<a class="jxr_linenumber" name="L548" href="#L548">548</a> 
<a class="jxr_linenumber" name="L549" href="#L549">549</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L550" href="#L550">550</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L551" href="#L551">551</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L552" href="#L552">552</a>     @Override
<a class="jxr_linenumber" name="L553" href="#L553">553</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getActiveCount() {
<a class="jxr_linenumber" name="L554" href="#L554">554</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L555" href="#L555">555</a>             <strong class="jxr_keyword">return</strong> workers.size() - idleWorkers.get();
<a class="jxr_linenumber" name="L556" href="#L556">556</a>         }
<a class="jxr_linenumber" name="L557" href="#L557">557</a>     }
<a class="jxr_linenumber" name="L558" href="#L558">558</a> 
<a class="jxr_linenumber" name="L559" href="#L559">559</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L560" href="#L560">560</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L561" href="#L561">561</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L562" href="#L562">562</a>     @Override
<a class="jxr_linenumber" name="L563" href="#L563">563</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getCompletedTaskCount() {
<a class="jxr_linenumber" name="L564" href="#L564">564</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L565" href="#L565">565</a>             <strong class="jxr_keyword">long</strong> answer = completedTaskCount;
<a class="jxr_linenumber" name="L566" href="#L566">566</a>             <strong class="jxr_keyword">for</strong> (Worker w : workers) {
<a class="jxr_linenumber" name="L567" href="#L567">567</a>                 answer += w.completedTaskCount.get();
<a class="jxr_linenumber" name="L568" href="#L568">568</a>             }
<a class="jxr_linenumber" name="L569" href="#L569">569</a> 
<a class="jxr_linenumber" name="L570" href="#L570">570</a>             <strong class="jxr_keyword">return</strong> answer;
<a class="jxr_linenumber" name="L571" href="#L571">571</a>         }
<a class="jxr_linenumber" name="L572" href="#L572">572</a>     }
<a class="jxr_linenumber" name="L573" href="#L573">573</a> 
<a class="jxr_linenumber" name="L574" href="#L574">574</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L575" href="#L575">575</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L576" href="#L576">576</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L577" href="#L577">577</a>     @Override
<a class="jxr_linenumber" name="L578" href="#L578">578</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getLargestPoolSize() {
<a class="jxr_linenumber" name="L579" href="#L579">579</a>         <strong class="jxr_keyword">return</strong> largestPoolSize;
<a class="jxr_linenumber" name="L580" href="#L580">580</a>     }
<a class="jxr_linenumber" name="L581" href="#L581">581</a> 
<a class="jxr_linenumber" name="L582" href="#L582">582</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L583" href="#L583">583</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L584" href="#L584">584</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L585" href="#L585">585</a>     @Override
<a class="jxr_linenumber" name="L586" href="#L586">586</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getPoolSize() {
<a class="jxr_linenumber" name="L587" href="#L587">587</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L588" href="#L588">588</a>             <strong class="jxr_keyword">return</strong> workers.size();
<a class="jxr_linenumber" name="L589" href="#L589">589</a>         }
<a class="jxr_linenumber" name="L590" href="#L590">590</a>     }
<a class="jxr_linenumber" name="L591" href="#L591">591</a> 
<a class="jxr_linenumber" name="L592" href="#L592">592</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L593" href="#L593">593</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L594" href="#L594">594</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L595" href="#L595">595</a>     @Override
<a class="jxr_linenumber" name="L596" href="#L596">596</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getTaskCount() {
<a class="jxr_linenumber" name="L597" href="#L597">597</a>         <strong class="jxr_keyword">return</strong> getCompletedTaskCount();
<a class="jxr_linenumber" name="L598" href="#L598">598</a>     }
<a class="jxr_linenumber" name="L599" href="#L599">599</a> 
<a class="jxr_linenumber" name="L600" href="#L600">600</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L601" href="#L601">601</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L602" href="#L602">602</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L603" href="#L603">603</a>     @Override
<a class="jxr_linenumber" name="L604" href="#L604">604</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isTerminating() {
<a class="jxr_linenumber" name="L605" href="#L605">605</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L606" href="#L606">606</a>             <strong class="jxr_keyword">return</strong> isShutdown() &amp;&amp; !isTerminated();
<a class="jxr_linenumber" name="L607" href="#L607">607</a>         }
<a class="jxr_linenumber" name="L608" href="#L608">608</a>     }
<a class="jxr_linenumber" name="L609" href="#L609">609</a> 
<a class="jxr_linenumber" name="L610" href="#L610">610</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L611" href="#L611">611</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L612" href="#L612">612</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L613" href="#L613">613</a>     @Override
<a class="jxr_linenumber" name="L614" href="#L614">614</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> prestartAllCoreThreads() {
<a class="jxr_linenumber" name="L615" href="#L615">615</a>         <strong class="jxr_keyword">int</strong> answer = 0;
<a class="jxr_linenumber" name="L616" href="#L616">616</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L617" href="#L617">617</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = <strong class="jxr_keyword">super</strong>.getCorePoolSize() - workers.size(); i &gt; 0; i--) {
<a class="jxr_linenumber" name="L618" href="#L618">618</a>                 addWorker();
<a class="jxr_linenumber" name="L619" href="#L619">619</a>                 answer++;
<a class="jxr_linenumber" name="L620" href="#L620">620</a>             }
<a class="jxr_linenumber" name="L621" href="#L621">621</a>         }
<a class="jxr_linenumber" name="L622" href="#L622">622</a>         <strong class="jxr_keyword">return</strong> answer;
<a class="jxr_linenumber" name="L623" href="#L623">623</a>     }
<a class="jxr_linenumber" name="L624" href="#L624">624</a> 
<a class="jxr_linenumber" name="L625" href="#L625">625</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L626" href="#L626">626</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L627" href="#L627">627</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L628" href="#L628">628</a>     @Override
<a class="jxr_linenumber" name="L629" href="#L629">629</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> prestartCoreThread() {
<a class="jxr_linenumber" name="L630" href="#L630">630</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L631" href="#L631">631</a>             <strong class="jxr_keyword">if</strong> (workers.size() &lt; <strong class="jxr_keyword">super</strong>.getCorePoolSize()) {
<a class="jxr_linenumber" name="L632" href="#L632">632</a>                 addWorker();
<a class="jxr_linenumber" name="L633" href="#L633">633</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L634" href="#L634">634</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L635" href="#L635">635</a>                 <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L636" href="#L636">636</a>             }
<a class="jxr_linenumber" name="L637" href="#L637">637</a>         }
<a class="jxr_linenumber" name="L638" href="#L638">638</a>     }
<a class="jxr_linenumber" name="L639" href="#L639">639</a> 
<a class="jxr_linenumber" name="L640" href="#L640">640</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L641" href="#L641">641</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L642" href="#L642">642</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L643" href="#L643">643</a>     @Override
<a class="jxr_linenumber" name="L644" href="#L644">644</a>     <strong class="jxr_keyword">public</strong> BlockingQueue&lt;Runnable&gt; getQueue() {
<a class="jxr_linenumber" name="L645" href="#L645">645</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException();
<a class="jxr_linenumber" name="L646" href="#L646">646</a>     }
<a class="jxr_linenumber" name="L647" href="#L647">647</a> 
<a class="jxr_linenumber" name="L648" href="#L648">648</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L649" href="#L649">649</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L650" href="#L650">650</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L651" href="#L651">651</a>     @Override
<a class="jxr_linenumber" name="L652" href="#L652">652</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> purge() {
<a class="jxr_linenumber" name="L653" href="#L653">653</a>         <em class="jxr_comment">// Nothing to purge in this implementation.</em>
<a class="jxr_linenumber" name="L654" href="#L654">654</a>     }
<a class="jxr_linenumber" name="L655" href="#L655">655</a> 
<a class="jxr_linenumber" name="L656" href="#L656">656</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L657" href="#L657">657</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L658" href="#L658">658</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L659" href="#L659">659</a>     @Override
<a class="jxr_linenumber" name="L660" href="#L660">660</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> remove(Runnable task) {
<a class="jxr_linenumber" name="L661" href="#L661">661</a>         checkTaskType(task);
<a class="jxr_linenumber" name="L662" href="#L662">662</a>         <a name="IoEvent"<a name="IoEvent" href="../../../../../org/apache/mina/core/session/IoEvent.html#IoEvent">IoEvent</a>../../../../../org/apache/mina/core/session/IoEvent.html#IoEvent">IoEvent</a> event = (<a name="IoEvent" href="../../../../../org/apache/mina/core/session/IoEvent.html#IoEvent">IoEvent</a>) task;
<a class="jxr_linenumber" name="L663" href="#L663">663</a>         <a name="IoSession" href="../../../../../org/apache/mina/core/session/IoSession.html#IoSession">IoSession</a> session = event.getSession();
<a class="jxr_linenumber" name="L664" href="#L664">664</a>         SessionQueue sessionTasksQueue = (SessionQueue) session.getAttribute(TASKS_QUEUE);
<a class="jxr_linenumber" name="L665" href="#L665">665</a> 
<a class="jxr_linenumber" name="L666" href="#L666">666</a>         <strong class="jxr_keyword">if</strong> (sessionTasksQueue == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L667" href="#L667">667</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L668" href="#L668">668</a>         }
<a class="jxr_linenumber" name="L669" href="#L669">669</a> 
<a class="jxr_linenumber" name="L670" href="#L670">670</a>         <strong class="jxr_keyword">boolean</strong> removed;
<a class="jxr_linenumber" name="L671" href="#L671">671</a>         Queue&lt;Runnable&gt; tasksQueue = sessionTasksQueue.tasksQueue;
<a class="jxr_linenumber" name="L672" href="#L672">672</a> 
<a class="jxr_linenumber" name="L673" href="#L673">673</a>         <strong class="jxr_keyword">synchronized</strong> (tasksQueue) {
<a class="jxr_linenumber" name="L674" href="#L674">674</a>             removed = tasksQueue.remove(task);
<a class="jxr_linenumber" name="L675" href="#L675">675</a>         }
<a class="jxr_linenumber" name="L676" href="#L676">676</a> 
<a class="jxr_linenumber" name="L677" href="#L677">677</a>         <strong class="jxr_keyword">if</strong> (removed) {
<a class="jxr_linenumber" name="L678" href="#L678">678</a>             getQueueHandler().polled(<strong class="jxr_keyword">this</strong>, event);
<a class="jxr_linenumber" name="L679" href="#L679">679</a>         }
<a class="jxr_linenumber" name="L680" href="#L680">680</a> 
<a class="jxr_linenumber" name="L681" href="#L681">681</a>         <strong class="jxr_keyword">return</strong> removed;
<a class="jxr_linenumber" name="L682" href="#L682">682</a>     }
<a class="jxr_linenumber" name="L683" href="#L683">683</a> 
<a class="jxr_linenumber" name="L684" href="#L684">684</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L685" href="#L685">685</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L686" href="#L686">686</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L687" href="#L687">687</a>     @Override
<a class="jxr_linenumber" name="L688" href="#L688">688</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCorePoolSize(<strong class="jxr_keyword">int</strong> corePoolSize) {
<a class="jxr_linenumber" name="L689" href="#L689">689</a>         <strong class="jxr_keyword">if</strong> (corePoolSize &lt; 0) {
<a class="jxr_linenumber" name="L690" href="#L690">690</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"corePoolSize: "</span> + corePoolSize);
<a class="jxr_linenumber" name="L691" href="#L691">691</a>         }
<a class="jxr_linenumber" name="L692" href="#L692">692</a>         <strong class="jxr_keyword">if</strong> (corePoolSize &gt; <strong class="jxr_keyword">super</strong>.getMaximumPoolSize()) {
<a class="jxr_linenumber" name="L693" href="#L693">693</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"corePoolSize exceeds maximumPoolSize"</span>);
<a class="jxr_linenumber" name="L694" href="#L694">694</a>         }
<a class="jxr_linenumber" name="L695" href="#L695">695</a> 
<a class="jxr_linenumber" name="L696" href="#L696">696</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L697" href="#L697">697</a>             <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">super</strong>.getCorePoolSize() &gt; corePoolSize) {
<a class="jxr_linenumber" name="L698" href="#L698">698</a>                 <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = <strong class="jxr_keyword">super</strong>.getCorePoolSize() - corePoolSize; i &gt; 0; i--) {
<a class="jxr_linenumber" name="L699" href="#L699">699</a>                     removeWorker();
<a class="jxr_linenumber" name="L700" href="#L700">700</a>                 }
<a class="jxr_linenumber" name="L701" href="#L701">701</a>             }
<a class="jxr_linenumber" name="L702" href="#L702">702</a>             <strong class="jxr_keyword">super</strong>.setCorePoolSize(corePoolSize);
<a class="jxr_linenumber" name="L703" href="#L703">703</a>         }
<a class="jxr_linenumber" name="L704" href="#L704">704</a>     }
<a class="jxr_linenumber" name="L705" href="#L705">705</a> 
<a class="jxr_linenumber" name="L706" href="#L706">706</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> Worker <strong class="jxr_keyword">implements</strong> Runnable {
<a class="jxr_linenumber" name="L707" href="#L707">707</a> 
<a class="jxr_linenumber" name="L708" href="#L708">708</a>         <strong class="jxr_keyword">private</strong> AtomicLong completedTaskCount = <strong class="jxr_keyword">new</strong> AtomicLong(0);
<a class="jxr_linenumber" name="L709" href="#L709">709</a> 
<a class="jxr_linenumber" name="L710" href="#L710">710</a>         <strong class="jxr_keyword">private</strong> Thread thread;
<a class="jxr_linenumber" name="L711" href="#L711">711</a> 
<a class="jxr_linenumber" name="L712" href="#L712">712</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L713" href="#L713">713</a> <em class="jxr_javadoccomment">         * @inheritedDoc</em>
<a class="jxr_linenumber" name="L714" href="#L714">714</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="L715" href="#L715">715</a>         @Override
<a class="jxr_linenumber" name="L716" href="#L716">716</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a class="jxr_linenumber" name="L717" href="#L717">717</a>             thread = Thread.currentThread();
<a class="jxr_linenumber" name="L718" href="#L718">718</a> 
<a class="jxr_linenumber" name="L719" href="#L719">719</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L720" href="#L720">720</a>                 <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="L721" href="#L721">721</a>                     <a name="IoSession" href="../../../../../org/apache/mina/core/session/IoSession.html#IoSession">IoSession</a> session = fetchSession();
<a class="jxr_linenumber" name="L722" href="#L722">722</a> 
<a class="jxr_linenumber" name="L723" href="#L723">723</a>                     idleWorkers.decrementAndGet();
<a class="jxr_linenumber" name="L724" href="#L724">724</a> 
<a class="jxr_linenumber" name="L725" href="#L725">725</a>                     <strong class="jxr_keyword">if</strong> (session == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L726" href="#L726">726</a>                         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L727" href="#L727">727</a>                             <strong class="jxr_keyword">if</strong> (workers.size() &gt; getCorePoolSize()) {
<a class="jxr_linenumber" name="L728" href="#L728">728</a>                                 <em class="jxr_comment">// Remove now to prevent duplicate exit.</em>
<a class="jxr_linenumber" name="L729" href="#L729">729</a>                                 workers.remove(<strong class="jxr_keyword">this</strong>);
<a class="jxr_linenumber" name="L730" href="#L730">730</a>                                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="L731" href="#L731">731</a>                             }
<a class="jxr_linenumber" name="L732" href="#L732">732</a>                         }
<a class="jxr_linenumber" name="L733" href="#L733">733</a>                     }
<a class="jxr_linenumber" name="L734" href="#L734">734</a> 
<a class="jxr_linenumber" name="L735" href="#L735">735</a>                     <strong class="jxr_keyword">if</strong> (session == EXIT_SIGNAL) {
<a class="jxr_linenumber" name="L736" href="#L736">736</a>                         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="L737" href="#L737">737</a>                     }
<a class="jxr_linenumber" name="L738" href="#L738">738</a> 
<a class="jxr_linenumber" name="L739" href="#L739">739</a>                     <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L740" href="#L740">740</a>                         <strong class="jxr_keyword">if</strong> (session != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L741" href="#L741">741</a>                             runTasks(getSessionTasksQueue(session));
<a class="jxr_linenumber" name="L742" href="#L742">742</a>                         }
<a class="jxr_linenumber" name="L743" href="#L743">743</a>                     } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="L744" href="#L744">744</a>                         idleWorkers.incrementAndGet();
<a class="jxr_linenumber" name="L745" href="#L745">745</a>                     }
<a class="jxr_linenumber" name="L746" href="#L746">746</a>                 }
<a class="jxr_linenumber" name="L747" href="#L747">747</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="L748" href="#L748">748</a>                 <strong class="jxr_keyword">synchronized</strong> (workers) {
<a class="jxr_linenumber" name="L749" href="#L749">749</a>                     workers.remove(<strong class="jxr_keyword">this</strong>);
<a class="jxr_linenumber" name="L750" href="#L750">750</a>                     PriorityThreadPoolExecutor.<strong class="jxr_keyword">this</strong>.completedTaskCount += completedTaskCount.get();
<a class="jxr_linenumber" name="L751" href="#L751">751</a>                     workers.notifyAll();
<a class="jxr_linenumber" name="L752" href="#L752">752</a>                 }
<a class="jxr_linenumber" name="L753" href="#L753">753</a>             }
<a class="jxr_linenumber" name="L754" href="#L754">754</a>         }
<a class="jxr_linenumber" name="L755" href="#L755">755</a> 
<a class="jxr_linenumber" name="L756" href="#L756">756</a>         <strong class="jxr_keyword">private</strong> <a name="IoSession" href="../../../../../org/apache/mina/core/session/IoSession.html#IoSession">IoSession</a> fetchSession() {
<a class="jxr_linenumber" name="L757" href="#L757">757</a>             SessionEntry entry = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L758" href="#L758">758</a>             <strong class="jxr_keyword">long</strong> currentTime = System.currentTimeMillis();
<a class="jxr_linenumber" name="L759" href="#L759">759</a>             <strong class="jxr_keyword">long</strong> deadline = currentTime + getKeepAliveTime(TimeUnit.MILLISECONDS);
<a class="jxr_linenumber" name="L760" href="#L760">760</a> 
<a class="jxr_linenumber" name="L761" href="#L761">761</a>             <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="L762" href="#L762">762</a>                 <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L763" href="#L763">763</a>                     <strong class="jxr_keyword">long</strong> waitTime = deadline - currentTime;
<a class="jxr_linenumber" name="L764" href="#L764">764</a> 
<a class="jxr_linenumber" name="L765" href="#L765">765</a>                     <strong class="jxr_keyword">if</strong> (waitTime &lt;= 0) {
<a class="jxr_linenumber" name="L766" href="#L766">766</a>                         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="L767" href="#L767">767</a>                     }
<a class="jxr_linenumber" name="L768" href="#L768">768</a> 
<a class="jxr_linenumber" name="L769" href="#L769">769</a>                     <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L770" href="#L770">770</a>                         entry = waitingSessions.poll(waitTime, TimeUnit.MILLISECONDS);
<a class="jxr_linenumber" name="L771" href="#L771">771</a>                         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="L772" href="#L772">772</a>                     } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="L773" href="#L773">773</a>                         <strong class="jxr_keyword">if</strong> (entry != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L774" href="#L774">774</a>                             currentTime = System.currentTimeMillis();
<a class="jxr_linenumber" name="L775" href="#L775">775</a>                         }
<a class="jxr_linenumber" name="L776" href="#L776">776</a>                     }
<a class="jxr_linenumber" name="L777" href="#L777">777</a>                 } <strong class="jxr_keyword">catch</strong> (InterruptedException e) {
<a class="jxr_linenumber" name="L778" href="#L778">778</a>                     <em class="jxr_comment">// Ignore.</em>
<a class="jxr_linenumber" name="L779" href="#L779">779</a>                     <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="L780" href="#L780">780</a>                 }
<a class="jxr_linenumber" name="L781" href="#L781">781</a>             }
<a class="jxr_linenumber" name="L782" href="#L782">782</a> 
<a class="jxr_linenumber" name="L783" href="#L783">783</a>             <strong class="jxr_keyword">if</strong> (entry != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L784" href="#L784">784</a>                 <strong class="jxr_keyword">return</strong> entry.getSession();
<a class="jxr_linenumber" name="L785" href="#L785">785</a>             }
<a class="jxr_linenumber" name="L786" href="#L786">786</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L787" href="#L787">787</a>         }
<a class="jxr_linenumber" name="L788" href="#L788">788</a> 
<a class="jxr_linenumber" name="L789" href="#L789">789</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> runTasks(SessionQueue sessionTasksQueue) {
<a class="jxr_linenumber" name="L790" href="#L790">790</a>             <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="L791" href="#L791">791</a>                 Runnable task;
<a class="jxr_linenumber" name="L792" href="#L792">792</a>                 Queue&lt;Runnable&gt; tasksQueue = sessionTasksQueue.tasksQueue;
<a class="jxr_linenumber" name="L793" href="#L793">793</a> 
<a class="jxr_linenumber" name="L794" href="#L794">794</a>                 <strong class="jxr_keyword">synchronized</strong> (tasksQueue) {
<a class="jxr_linenumber" name="L795" href="#L795">795</a>                     task = tasksQueue.poll();
<a class="jxr_linenumber" name="L796" href="#L796">796</a> 
<a class="jxr_linenumber" name="L797" href="#L797">797</a>                     <strong class="jxr_keyword">if</strong> (task == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L798" href="#L798">798</a>                         sessionTasksQueue.processingCompleted = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L799" href="#L799">799</a>                         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="L800" href="#L800">800</a>                     }
<a class="jxr_linenumber" name="L801" href="#L801">801</a>                 }
<a class="jxr_linenumber" name="L802" href="#L802">802</a> 
<a class="jxr_linenumber" name="L803" href="#L803">803</a>                 eventQueueHandler.polled(PriorityThreadPoolExecutor.<strong class="jxr_keyword">this</strong>, (<a name="IoEvent" href="../../../../../org/apache/mina/core/session/IoEvent.html#IoEvent">IoEvent</a>) task);
<a class="jxr_linenumber" name="L804" href="#L804">804</a> 
<a class="jxr_linenumber" name="L805" href="#L805">805</a>                 runTask(task);
<a class="jxr_linenumber" name="L806" href="#L806">806</a>             }
<a class="jxr_linenumber" name="L807" href="#L807">807</a>         }
<a class="jxr_linenumber" name="L808" href="#L808">808</a> 
<a class="jxr_linenumber" name="L809" href="#L809">809</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> runTask(Runnable task) {
<a class="jxr_linenumber" name="L810" href="#L810">810</a>             beforeExecute(thread, task);
<a class="jxr_linenumber" name="L811" href="#L811">811</a>             <strong class="jxr_keyword">boolean</strong> ran = false;
<a class="jxr_linenumber" name="L812" href="#L812">812</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L813" href="#L813">813</a>                 task.run();
<a class="jxr_linenumber" name="L814" href="#L814">814</a>                 ran = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L815" href="#L815">815</a>                 afterExecute(task, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L816" href="#L816">816</a>                 completedTaskCount.incrementAndGet();
<a class="jxr_linenumber" name="L817" href="#L817">817</a>             } <strong class="jxr_keyword">catch</strong> (RuntimeException e) {
<a class="jxr_linenumber" name="L818" href="#L818">818</a>                 <strong class="jxr_keyword">if</strong> (!ran) {
<a class="jxr_linenumber" name="L819" href="#L819">819</a>                     afterExecute(task, e);
<a class="jxr_linenumber" name="L820" href="#L820">820</a>                 }
<a class="jxr_linenumber" name="L821" href="#L821">821</a>                 <strong class="jxr_keyword">throw</strong> e;
<a class="jxr_linenumber" name="L822" href="#L822">822</a>             }
<a class="jxr_linenumber" name="L823" href="#L823">823</a>         }
<a class="jxr_linenumber" name="L824" href="#L824">824</a>     }
<a class="jxr_linenumber" name="L825" href="#L825">825</a> 
<a class="jxr_linenumber" name="L826" href="#L826">826</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L827" href="#L827">827</a> <em class="jxr_javadoccomment">     * A class used to store the ordered list of events to be processed by the</em>
<a class="jxr_linenumber" name="L828" href="#L828">828</a> <em class="jxr_javadoccomment">     * session, and the current task state.</em>
<a class="jxr_linenumber" name="L829" href="#L829">829</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L830" href="#L830">830</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> SessionQueue {
<a class="jxr_linenumber" name="L831" href="#L831">831</a>         <em class="jxr_javadoccomment">/** A queue of ordered event waiting to be processed */</em>
<a class="jxr_linenumber" name="L832" href="#L832">832</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Queue&lt;Runnable&gt; tasksQueue = <strong class="jxr_keyword">new</strong> ConcurrentLinkedQueue&lt;&gt;();
<a class="jxr_linenumber" name="L833" href="#L833">833</a> 
<a class="jxr_linenumber" name="L834" href="#L834">834</a>         <em class="jxr_javadoccomment">/** The current task state */</em>
<a class="jxr_linenumber" name="L835" href="#L835">835</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> processingCompleted = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L836" href="#L836">836</a>     }
<a class="jxr_linenumber" name="L837" href="#L837">837</a> 
<a class="jxr_linenumber" name="L838" href="#L838">838</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L839" href="#L839">839</a> <em class="jxr_javadoccomment">     * A class used to preserve first-in-first-out order of sessions that have equal</em>
<a class="jxr_linenumber" name="L840" href="#L840">840</a> <em class="jxr_javadoccomment">     * priority.</em>
<a class="jxr_linenumber" name="L841" href="#L841">841</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L842" href="#L842">842</a>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> SessionEntry <strong class="jxr_keyword">implements</strong> Comparable&lt;SessionEntry&gt; {
<a class="jxr_linenumber" name="L843" href="#L843">843</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> seqNum;
<a class="jxr_linenumber" name="L844" href="#L844">844</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="IoSession" href="../../../../../org/apache/mina/core/session/IoSession.html#IoSession">IoSession</a> session;
<a class="jxr_linenumber" name="L845" href="#L845">845</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Comparator&lt;IoSession&gt; comparator;
<a class="jxr_linenumber" name="L846" href="#L846">846</a> 
<a class="jxr_linenumber" name="L847" href="#L847">847</a>         <strong class="jxr_keyword">public</strong> SessionEntry(<a name="IoSession" href="../../../../../org/apache/mina/core/session/IoSession.html#IoSession">IoSession</a> session, Comparator&lt;IoSession&gt; comparator) {
<a class="jxr_linenumber" name="L848" href="#L848">848</a>             <strong class="jxr_keyword">if</strong> (session == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L849" href="#L849">849</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"session"</span>);
<a class="jxr_linenumber" name="L850" href="#L850">850</a>             }
<a class="jxr_linenumber" name="L851" href="#L851">851</a>             seqNum = seq.getAndIncrement();
<a class="jxr_linenumber" name="L852" href="#L852">852</a>             <strong class="jxr_keyword">this</strong>.session = session;
<a class="jxr_linenumber" name="L853" href="#L853">853</a>             <strong class="jxr_keyword">this</strong>.comparator = comparator;
<a class="jxr_linenumber" name="L854" href="#L854">854</a>         }
<a class="jxr_linenumber" name="L855" href="#L855">855</a> 
<a class="jxr_linenumber" name="L856" href="#L856">856</a>         <strong class="jxr_keyword">public</strong> <a name="IoSession" href="../../../../../org/apache/mina/core/session/IoSession.html#IoSession">IoSession</a> getSession() {
<a class="jxr_linenumber" name="L857" href="#L857">857</a>             <strong class="jxr_keyword">return</strong> session;
<a class="jxr_linenumber" name="L858" href="#L858">858</a>         }
<a class="jxr_linenumber" name="L859" href="#L859">859</a> 
<a class="jxr_linenumber" name="L860" href="#L860">860</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compareTo(SessionEntry other) {
<a class="jxr_linenumber" name="L861" href="#L861">861</a>             <strong class="jxr_keyword">if</strong> (other == <strong class="jxr_keyword">this</strong>) {
<a class="jxr_linenumber" name="L862" href="#L862">862</a>                 <strong class="jxr_keyword">return</strong> 0;
<a class="jxr_linenumber" name="L863" href="#L863">863</a>             }
<a class="jxr_linenumber" name="L864" href="#L864">864</a> 
<a class="jxr_linenumber" name="L865" href="#L865">865</a>             <strong class="jxr_keyword">if</strong> (other.session == <strong class="jxr_keyword">this</strong>.session) {
<a class="jxr_linenumber" name="L866" href="#L866">866</a>                 <strong class="jxr_keyword">return</strong> 0;
<a class="jxr_linenumber" name="L867" href="#L867">867</a>             }
<a class="jxr_linenumber" name="L868" href="#L868">868</a> 
<a class="jxr_linenumber" name="L869" href="#L869">869</a>             <em class="jxr_comment">// An exit signal should always be preferred.</em>
<a class="jxr_linenumber" name="L870" href="#L870">870</a>             <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong> == EXIT_SIGNAL) {
<a class="jxr_linenumber" name="L871" href="#L871">871</a>                 <strong class="jxr_keyword">return</strong> -1;
<a class="jxr_linenumber" name="L872" href="#L872">872</a>             }
<a class="jxr_linenumber" name="L873" href="#L873">873</a>             <strong class="jxr_keyword">if</strong> (other == EXIT_SIGNAL) {
<a class="jxr_linenumber" name="L874" href="#L874">874</a>                 <strong class="jxr_keyword">return</strong> 1;
<a class="jxr_linenumber" name="L875" href="#L875">875</a>             }
<a class="jxr_linenumber" name="L876" href="#L876">876</a> 
<a class="jxr_linenumber" name="L877" href="#L877">877</a>             <strong class="jxr_keyword">int</strong> res = 0;
<a class="jxr_linenumber" name="L878" href="#L878">878</a> 
<a class="jxr_linenumber" name="L879" href="#L879">879</a>             <em class="jxr_comment">// If there's a comparator, use it to prioritise events.</em>
<a class="jxr_linenumber" name="L880" href="#L880">880</a>             <strong class="jxr_keyword">if</strong> (comparator != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L881" href="#L881">881</a>                 res = comparator.compare(session, other.session);
<a class="jxr_linenumber" name="L882" href="#L882">882</a>             }
<a class="jxr_linenumber" name="L883" href="#L883">883</a> 
<a class="jxr_linenumber" name="L884" href="#L884">884</a>             <em class="jxr_comment">// FIFO tiebreaker.</em>
<a class="jxr_linenumber" name="L885" href="#L885">885</a>             <strong class="jxr_keyword">if</strong> (res == 0) {
<a class="jxr_linenumber" name="L886" href="#L886">886</a>                 res = (seqNum &lt; other.seqNum ? -1 : 1);
<a class="jxr_linenumber" name="L887" href="#L887">887</a>             }
<a class="jxr_linenumber" name="L888" href="#L888">888</a> 
<a class="jxr_linenumber" name="L889" href="#L889">889</a>             <strong class="jxr_keyword">return</strong> res;
<a class="jxr_linenumber" name="L890" href="#L890">890</a>         }
<a class="jxr_linenumber" name="L891" href="#L891">891</a>     }
<a class="jxr_linenumber" name="L892" href="#L892">892</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2004&#x2013;2019 <a href="http://mina.apache.org/">Apache MINA Project</a>. All rights reserved.</div>
</body>
</html>
