<!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>AbstractBindTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../testapidocs/org/apache/mina/transport/AbstractBindTest.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." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</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.transport;
<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> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertEquals;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertFalse;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertNotNull;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertNull;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertTrue;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.fail;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> java.net.SocketAddress;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> java.util.Collection;
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.ConnectFuture;
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.IoAcceptor;
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.IoConnector;
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.IoHandlerAdapter;
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IdleStatus;
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.transport.socket.DatagramAcceptor;
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.transport.socket.DatagramSessionConfig;
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.transport.socket.SocketAcceptor;
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.transport.socket.SocketSessionConfig;
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.util.AvailablePortFinder;
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <strong class="jxr_keyword">import</strong> org.junit.After;
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <strong class="jxr_keyword">import</strong> org.junit.Ignore;
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  
<a class="jxr_linenumber" name="L51" href="#L51">51</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  <em class="jxr_javadoccomment"> * Tests {@link IoAcceptor} resource leakage by repeating bind and unbind.</em>
<a class="jxr_linenumber" name="L53" href="#L53">53</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L54" href="#L54">54</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="L55" href="#L55">55</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L56" href="#L56">56</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/mina/transport/AbstractBindTest.html">AbstractBindTest</a> {
<a class="jxr_linenumber" name="L57" href="#L57">57</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> IoAcceptor acceptor;
<a class="jxr_linenumber" name="L58" href="#L58">58</a>  
<a class="jxr_linenumber" name="L59" href="#L59">59</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> port;
<a class="jxr_linenumber" name="L60" href="#L60">60</a>  
<a class="jxr_linenumber" name="L61" href="#L61">61</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/mina/transport/AbstractBindTest.html">AbstractBindTest</a>(IoAcceptor acceptor) {
<a class="jxr_linenumber" name="L62" href="#L62">62</a>          <strong class="jxr_keyword">this</strong>.acceptor = acceptor;
<a class="jxr_linenumber" name="L63" href="#L63">63</a>      }
<a class="jxr_linenumber" name="L64" href="#L64">64</a>  
<a class="jxr_linenumber" name="L65" href="#L65">65</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> SocketAddress createSocketAddress(<strong class="jxr_keyword">int</strong> port);
<a class="jxr_linenumber" name="L66" href="#L66">66</a>  
<a class="jxr_linenumber" name="L67" href="#L67">67</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">int</strong> getPort(SocketAddress address);
<a class="jxr_linenumber" name="L68" href="#L68">68</a>  
<a class="jxr_linenumber" name="L69" href="#L69">69</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> IoConnector newConnector();
<a class="jxr_linenumber" name="L70" href="#L70">70</a>  
<a class="jxr_linenumber" name="L71" href="#L71">71</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> bind(<strong class="jxr_keyword">boolean</strong> reuseAddress) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L72" href="#L72">72</a>          acceptor.setHandler(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/transport/AbstractBindTest.html">EchoProtocolHandler</a>());
<a class="jxr_linenumber" name="L73" href="#L73">73</a>  
<a class="jxr_linenumber" name="L74" href="#L74">74</a>          setReuseAddress(reuseAddress);
<a class="jxr_linenumber" name="L75" href="#L75">75</a>  
<a class="jxr_linenumber" name="L76" href="#L76">76</a>          <em class="jxr_comment">// Find an available test port and bind to it.</em>
<a class="jxr_linenumber" name="L77" href="#L77">77</a>          <strong class="jxr_keyword">boolean</strong> socketBound = false;
<a class="jxr_linenumber" name="L78" href="#L78">78</a>  
<a class="jxr_linenumber" name="L79" href="#L79">79</a>          <em class="jxr_comment">// Let's start from port #1 to detect possible resource leak</em>
<a class="jxr_linenumber" name="L80" href="#L80">80</a>          <em class="jxr_comment">// because test will fail in port 1-1023 if user run this test</em>
<a class="jxr_linenumber" name="L81" href="#L81">81</a>          <em class="jxr_comment">// as a normal user.</em>
<a class="jxr_linenumber" name="L82" href="#L82">82</a>          port = AvailablePortFinder.getNextAvailable();
<a class="jxr_linenumber" name="L83" href="#L83">83</a>          socketBound = false;
<a class="jxr_linenumber" name="L84" href="#L84">84</a>          <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L85" href="#L85">85</a>              acceptor.setDefaultLocalAddress(createSocketAddress(port));
<a class="jxr_linenumber" name="L86" href="#L86">86</a>              acceptor.bind();
<a class="jxr_linenumber" name="L87" href="#L87">87</a>              socketBound = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L88" href="#L88">88</a>          } <strong class="jxr_keyword">catch</strong> (IOException e) {
<a class="jxr_linenumber" name="L89" href="#L89">89</a>              <em class="jxr_comment">//System.out.println(e.getMessage());</em>
<a class="jxr_linenumber" name="L90" href="#L90">90</a>          }
<a class="jxr_linenumber" name="L91" href="#L91">91</a>  
<a class="jxr_linenumber" name="L92" href="#L92">92</a>          <em class="jxr_comment">// If there is no port available, test fails.</em>
<a class="jxr_linenumber" name="L93" href="#L93">93</a>          <strong class="jxr_keyword">if</strong> (!socketBound) {
<a class="jxr_linenumber" name="L94" href="#L94">94</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(<span class="jxr_string">"Cannot bind any test port."</span>);
<a class="jxr_linenumber" name="L95" href="#L95">95</a>          }
<a class="jxr_linenumber" name="L96" href="#L96">96</a>  
<a class="jxr_linenumber" name="L97" href="#L97">97</a>          <em class="jxr_comment">//System.out.println( "Using port " + port + " for testing." );</em>
<a class="jxr_linenumber" name="L98" href="#L98">98</a>      }
<a class="jxr_linenumber" name="L99" href="#L99">99</a>  
<a class="jxr_linenumber" name="L100" href="#L100">100</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> setReuseAddress(<strong class="jxr_keyword">boolean</strong> reuseAddress) {
<a class="jxr_linenumber" name="L101" href="#L101">101</a>         <strong class="jxr_keyword">if</strong> (acceptor instanceof DatagramAcceptor) {
<a class="jxr_linenumber" name="L102" href="#L102">102</a>             ((DatagramSessionConfig) acceptor.getSessionConfig()).setReuseAddress(reuseAddress);
<a class="jxr_linenumber" name="L103" href="#L103">103</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (acceptor instanceof SocketAcceptor) {
<a class="jxr_linenumber" name="L104" href="#L104">104</a>             ((SocketAcceptor) acceptor).setReuseAddress(reuseAddress);
<a class="jxr_linenumber" name="L105" href="#L105">105</a>         }
<a class="jxr_linenumber" name="L106" href="#L106">106</a>     }
<a class="jxr_linenumber" name="L107" href="#L107">107</a> 
<a class="jxr_linenumber" name="L108" href="#L108">108</a>     @After
<a class="jxr_linenumber" name="L109" href="#L109">109</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() {
<a class="jxr_linenumber" name="L110" href="#L110">110</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L111" href="#L111">111</a>             acceptor.dispose();
<a class="jxr_linenumber" name="L112" href="#L112">112</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="L113" href="#L113">113</a>             <em class="jxr_comment">// ignore</em>
<a class="jxr_linenumber" name="L114" href="#L114">114</a>         }
<a class="jxr_linenumber" name="L115" href="#L115">115</a> 
<a class="jxr_linenumber" name="L116" href="#L116">116</a>         acceptor.setDefaultLocalAddress(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L117" href="#L117">117</a>     }
<a class="jxr_linenumber" name="L118" href="#L118">118</a> 
<a class="jxr_linenumber" name="L119" href="#L119">119</a>     @Test
<a class="jxr_linenumber" name="L120" href="#L120">120</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAnonymousBind() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L121" href="#L121">121</a>         acceptor.setHandler(<strong class="jxr_keyword">new</strong> IoHandlerAdapter());
<a class="jxr_linenumber" name="L122" href="#L122">122</a>         acceptor.setDefaultLocalAddress(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L123" href="#L123">123</a>         acceptor.bind();
<a class="jxr_linenumber" name="L124" href="#L124">124</a>         assertNotNull(acceptor.getLocalAddress());
<a class="jxr_linenumber" name="L125" href="#L125">125</a>         acceptor.unbind(acceptor.getLocalAddress());
<a class="jxr_linenumber" name="L126" href="#L126">126</a>         assertNull(acceptor.getLocalAddress());
<a class="jxr_linenumber" name="L127" href="#L127">127</a>         acceptor.setDefaultLocalAddress(createSocketAddress(0));
<a class="jxr_linenumber" name="L128" href="#L128">128</a>         acceptor.bind();
<a class="jxr_linenumber" name="L129" href="#L129">129</a>         assertNotNull(acceptor.getLocalAddress());
<a class="jxr_linenumber" name="L130" href="#L130">130</a>         assertTrue(getPort(acceptor.getLocalAddress()) != 0);
<a class="jxr_linenumber" name="L131" href="#L131">131</a>         acceptor.unbind(acceptor.getLocalAddress());
<a class="jxr_linenumber" name="L132" href="#L132">132</a>     }
<a class="jxr_linenumber" name="L133" href="#L133">133</a> 
<a class="jxr_linenumber" name="L134" href="#L134">134</a>     @Test
<a class="jxr_linenumber" name="L135" href="#L135">135</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDuplicateBind() <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L136" href="#L136">136</a>         bind(false);
<a class="jxr_linenumber" name="L137" href="#L137">137</a> 
<a class="jxr_linenumber" name="L138" href="#L138">138</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L139" href="#L139">139</a>             acceptor.bind();
<a class="jxr_linenumber" name="L140" href="#L140">140</a>             fail(<span class="jxr_string">"Exception is not thrown"</span>);
<a class="jxr_linenumber" name="L141" href="#L141">141</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="L142" href="#L142">142</a>             <em class="jxr_comment">// Signifies a successfull test case execution</em>
<a class="jxr_linenumber" name="L143" href="#L143">143</a>             assertTrue(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L144" href="#L144">144</a>         }
<a class="jxr_linenumber" name="L145" href="#L145">145</a>     }
<a class="jxr_linenumber" name="L146" href="#L146">146</a> 
<a class="jxr_linenumber" name="L147" href="#L147">147</a>     @Test
<a class="jxr_linenumber" name="L148" href="#L148">148</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDuplicateUnbind() <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L149" href="#L149">149</a>         bind(false);
<a class="jxr_linenumber" name="L150" href="#L150">150</a> 
<a class="jxr_linenumber" name="L151" href="#L151">151</a>         <em class="jxr_comment">// this should succeed</em>
<a class="jxr_linenumber" name="L152" href="#L152">152</a>         acceptor.unbind();
<a class="jxr_linenumber" name="L153" href="#L153">153</a> 
<a class="jxr_linenumber" name="L154" href="#L154">154</a>         <em class="jxr_comment">// this shouldn't fail</em>
<a class="jxr_linenumber" name="L155" href="#L155">155</a>         acceptor.unbind();
<a class="jxr_linenumber" name="L156" href="#L156">156</a>     }
<a class="jxr_linenumber" name="L157" href="#L157">157</a> 
<a class="jxr_linenumber" name="L158" href="#L158">158</a>     @Test
<a class="jxr_linenumber" name="L159" href="#L159">159</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testManyTimes() <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L160" href="#L160">160</a>         bind(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L161" href="#L161">161</a> 
<a class="jxr_linenumber" name="L162" href="#L162">162</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 1024; i++) {
<a class="jxr_linenumber" name="L163" href="#L163">163</a>             acceptor.unbind();
<a class="jxr_linenumber" name="L164" href="#L164">164</a>             acceptor.bind();
<a class="jxr_linenumber" name="L165" href="#L165">165</a>         }
<a class="jxr_linenumber" name="L166" href="#L166">166</a>     }
<a class="jxr_linenumber" name="L167" href="#L167">167</a> 
<a class="jxr_linenumber" name="L168" href="#L168">168</a>     @Test
<a class="jxr_linenumber" name="L169" href="#L169">169</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testUnbindDisconnectsClients() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L170" href="#L170">170</a>         bind(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L171" href="#L171">171</a>         IoConnector connector = newConnector();
<a class="jxr_linenumber" name="L172" href="#L172">172</a>         IoSession[] sessions = <strong class="jxr_keyword">new</strong> IoSession[5];
<a class="jxr_linenumber" name="L173" href="#L173">173</a>         connector.setHandler(<strong class="jxr_keyword">new</strong> IoHandlerAdapter());
<a class="jxr_linenumber" name="L174" href="#L174">174</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; sessions.length; i++) {
<a class="jxr_linenumber" name="L175" href="#L175">175</a>             ConnectFuture future = connector.connect(createSocketAddress(port));
<a class="jxr_linenumber" name="L176" href="#L176">176</a>             future.awaitUninterruptibly();
<a class="jxr_linenumber" name="L177" href="#L177">177</a>             sessions[i] = future.getSession();
<a class="jxr_linenumber" name="L178" href="#L178">178</a>             assertTrue(sessions[i].isConnected());
<a class="jxr_linenumber" name="L179" href="#L179">179</a>             assertTrue(sessions[i].write(IoBuffer.allocate(1)).awaitUninterruptibly().isWritten());
<a class="jxr_linenumber" name="L180" href="#L180">180</a>         }
<a class="jxr_linenumber" name="L181" href="#L181">181</a> 
<a class="jxr_linenumber" name="L182" href="#L182">182</a>         <em class="jxr_comment">// Wait for the server side sessions to be created.</em>
<a class="jxr_linenumber" name="L183" href="#L183">183</a>         Thread.sleep(500);
<a class="jxr_linenumber" name="L184" href="#L184">184</a> 
<a class="jxr_linenumber" name="L185" href="#L185">185</a>         Collection&lt;IoSession&gt; managedSessions = acceptor.getManagedSessions().values();
<a class="jxr_linenumber" name="L186" href="#L186">186</a>         assertEquals(5, managedSessions.size());
<a class="jxr_linenumber" name="L187" href="#L187">187</a> 
<a class="jxr_linenumber" name="L188" href="#L188">188</a>         acceptor.unbind();
<a class="jxr_linenumber" name="L189" href="#L189">189</a> 
<a class="jxr_linenumber" name="L190" href="#L190">190</a>         <em class="jxr_comment">// Wait for the client side sessions to close.</em>
<a class="jxr_linenumber" name="L191" href="#L191">191</a>         Thread.sleep(500);
<a class="jxr_linenumber" name="L192" href="#L192">192</a> 
<a class="jxr_linenumber" name="L193" href="#L193">193</a>         assertEquals(0, managedSessions.size());
<a class="jxr_linenumber" name="L194" href="#L194">194</a>         <strong class="jxr_keyword">for</strong> (IoSession element : managedSessions) {
<a class="jxr_linenumber" name="L195" href="#L195">195</a>             assertFalse(element.isConnected());
<a class="jxr_linenumber" name="L196" href="#L196">196</a>         }
<a class="jxr_linenumber" name="L197" href="#L197">197</a>     }
<a class="jxr_linenumber" name="L198" href="#L198">198</a> 
<a class="jxr_linenumber" name="L199" href="#L199">199</a>     @Test
<a class="jxr_linenumber" name="L200" href="#L200">200</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testUnbindResume() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L201" href="#L201">201</a>         bind(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L202" href="#L202">202</a>         IoConnector connector = newConnector();
<a class="jxr_linenumber" name="L203" href="#L203">203</a>         IoSession session = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L204" href="#L204">204</a>         connector.setHandler(<strong class="jxr_keyword">new</strong> IoHandlerAdapter());
<a class="jxr_linenumber" name="L205" href="#L205">205</a> 
<a class="jxr_linenumber" name="L206" href="#L206">206</a>         ConnectFuture future = connector.connect(createSocketAddress(port));
<a class="jxr_linenumber" name="L207" href="#L207">207</a>         future.awaitUninterruptibly();
<a class="jxr_linenumber" name="L208" href="#L208">208</a>         session = future.getSession();
<a class="jxr_linenumber" name="L209" href="#L209">209</a>         assertTrue(session.isConnected());
<a class="jxr_linenumber" name="L210" href="#L210">210</a>         assertTrue(session.write(IoBuffer.allocate(1)).awaitUninterruptibly().isWritten());
<a class="jxr_linenumber" name="L211" href="#L211">211</a> 
<a class="jxr_linenumber" name="L212" href="#L212">212</a>         <em class="jxr_comment">// Wait for the server side session to be created.</em>
<a class="jxr_linenumber" name="L213" href="#L213">213</a>         Thread.sleep(500);
<a class="jxr_linenumber" name="L214" href="#L214">214</a> 
<a class="jxr_linenumber" name="L215" href="#L215">215</a>         Collection&lt;IoSession&gt; managedSession = acceptor.getManagedSessions().values();
<a class="jxr_linenumber" name="L216" href="#L216">216</a>         assertEquals(1, managedSession.size());
<a class="jxr_linenumber" name="L217" href="#L217">217</a> 
<a class="jxr_linenumber" name="L218" href="#L218">218</a>         acceptor.unbind();
<a class="jxr_linenumber" name="L219" href="#L219">219</a> 
<a class="jxr_linenumber" name="L220" href="#L220">220</a>         <em class="jxr_comment">// Wait for the client side sessions to close.</em>
<a class="jxr_linenumber" name="L221" href="#L221">221</a>         Thread.sleep(500);
<a class="jxr_linenumber" name="L222" href="#L222">222</a> 
<a class="jxr_linenumber" name="L223" href="#L223">223</a>         assertEquals(0, managedSession.size());
<a class="jxr_linenumber" name="L224" href="#L224">224</a>         <strong class="jxr_keyword">for</strong> (IoSession element : managedSession) {
<a class="jxr_linenumber" name="L225" href="#L225">225</a>             assertFalse(element.isConnected());
<a class="jxr_linenumber" name="L226" href="#L226">226</a>         }
<a class="jxr_linenumber" name="L227" href="#L227">227</a> 
<a class="jxr_linenumber" name="L228" href="#L228">228</a>         <em class="jxr_comment">// Rebind</em>
<a class="jxr_linenumber" name="L229" href="#L229">229</a>         bind(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L230" href="#L230">230</a> 
<a class="jxr_linenumber" name="L231" href="#L231">231</a>         <em class="jxr_comment">// Check again the connection</em>
<a class="jxr_linenumber" name="L232" href="#L232">232</a>         future = connector.connect(createSocketAddress(port));
<a class="jxr_linenumber" name="L233" href="#L233">233</a>         future.awaitUninterruptibly();
<a class="jxr_linenumber" name="L234" href="#L234">234</a>         session = future.getSession();
<a class="jxr_linenumber" name="L235" href="#L235">235</a>         assertTrue(session.isConnected());
<a class="jxr_linenumber" name="L236" href="#L236">236</a>         assertTrue(session.write(IoBuffer.allocate(1)).awaitUninterruptibly().isWritten());
<a class="jxr_linenumber" name="L237" href="#L237">237</a> 
<a class="jxr_linenumber" name="L238" href="#L238">238</a>         <em class="jxr_comment">// Wait for the server side session to be created.</em>
<a class="jxr_linenumber" name="L239" href="#L239">239</a>         Thread.sleep(500);
<a class="jxr_linenumber" name="L240" href="#L240">240</a> 
<a class="jxr_linenumber" name="L241" href="#L241">241</a>         managedSession = acceptor.getManagedSessions().values();
<a class="jxr_linenumber" name="L242" href="#L242">242</a>         assertEquals(1, managedSession.size());
<a class="jxr_linenumber" name="L243" href="#L243">243</a>     }
<a class="jxr_linenumber" name="L244" href="#L244">244</a> 
<a class="jxr_linenumber" name="L245" href="#L245">245</a>     @Test
<a class="jxr_linenumber" name="L246" href="#L246">246</a>     @Ignore
<a class="jxr_linenumber" name="L247" href="#L247">247</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testRegressively() <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L248" href="#L248">248</a>         setReuseAddress(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L249" href="#L249">249</a> 
<a class="jxr_linenumber" name="L250" href="#L250">250</a>         SocketAddress addr = createSocketAddress(port);
<a class="jxr_linenumber" name="L251" href="#L251">251</a>         <a href="../../../../org/apache/mina/transport/AbstractBindTest.html">EchoProtocolHandler</a> handler = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/transport/AbstractBindTest.html">EchoProtocolHandler</a>();
<a class="jxr_linenumber" name="L252" href="#L252">252</a>         acceptor.setDefaultLocalAddress(addr);
<a class="jxr_linenumber" name="L253" href="#L253">253</a>         acceptor.setHandler(handler);
<a class="jxr_linenumber" name="L254" href="#L254">254</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 1048576; i++) {
<a class="jxr_linenumber" name="L255" href="#L255">255</a>             acceptor.bind();
<a class="jxr_linenumber" name="L256" href="#L256">256</a>             acceptor.unbind();
<a class="jxr_linenumber" name="L257" href="#L257">257</a>         }
<a class="jxr_linenumber" name="L258" href="#L258">258</a>         bind(false);
<a class="jxr_linenumber" name="L259" href="#L259">259</a>     }
<a class="jxr_linenumber" name="L260" href="#L260">260</a> 
<a class="jxr_linenumber" name="L261" href="#L261">261</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/mina/transport/AbstractBindTest.html">EchoProtocolHandler</a> <strong class="jxr_keyword">extends</strong> IoHandlerAdapter {
<a class="jxr_linenumber" name="L262" href="#L262">262</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger LOG = LoggerFactory.getLogger(EchoProtocolHandler.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="L263" href="#L263">263</a> 
<a class="jxr_linenumber" name="L264" href="#L264">264</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L265" href="#L265">265</a> <em class="jxr_javadoccomment">         * Default constructor</em>
<a class="jxr_linenumber" name="L266" href="#L266">266</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="L267" href="#L267">267</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/mina/transport/AbstractBindTest.html">EchoProtocolHandler</a>() {
<a class="jxr_linenumber" name="L268" href="#L268">268</a>             <strong class="jxr_keyword">super</strong>();
<a class="jxr_linenumber" name="L269" href="#L269">269</a>         }
<a class="jxr_linenumber" name="L270" href="#L270">270</a> 
<a class="jxr_linenumber" name="L271" href="#L271">271</a>         @Override
<a class="jxr_linenumber" name="L272" href="#L272">272</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionCreated(IoSession session) {
<a class="jxr_linenumber" name="L273" href="#L273">273</a>             <strong class="jxr_keyword">if</strong> (session.getConfig() instanceof SocketSessionConfig) {
<a class="jxr_linenumber" name="L274" href="#L274">274</a>                 ((SocketSessionConfig) session.getConfig()).setReceiveBufferSize(2048);
<a class="jxr_linenumber" name="L275" href="#L275">275</a>             }
<a class="jxr_linenumber" name="L276" href="#L276">276</a> 
<a class="jxr_linenumber" name="L277" href="#L277">277</a>             session.getConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10);
<a class="jxr_linenumber" name="L278" href="#L278">278</a>         }
<a class="jxr_linenumber" name="L279" href="#L279">279</a> 
<a class="jxr_linenumber" name="L280" href="#L280">280</a>         @Override
<a class="jxr_linenumber" name="L281" href="#L281">281</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionIdle(IoSession session, IdleStatus status) {
<a class="jxr_linenumber" name="L282" href="#L282">282</a>             LOG.info(<span class="jxr_string">"*** IDLE #"</span> + session.getIdleCount(IdleStatus.BOTH_IDLE) + <span class="jxr_string">" ***"</span>);
<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>         @Override
<a class="jxr_linenumber" name="L286" href="#L286">286</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exceptionCaught(IoSession session, Throwable cause) {
<a class="jxr_linenumber" name="L287" href="#L287">287</a>             <em class="jxr_comment">//cause.printStackTrace();</em>
<a class="jxr_linenumber" name="L288" href="#L288">288</a>             session.closeNow();
<a class="jxr_linenumber" name="L289" href="#L289">289</a>         }
<a class="jxr_linenumber" name="L290" href="#L290">290</a> 
<a class="jxr_linenumber" name="L291" href="#L291">291</a>         @Override
<a class="jxr_linenumber" name="L292" href="#L292">292</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageReceived(IoSession session, Object message) <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L293" href="#L293">293</a>             <strong class="jxr_keyword">if</strong> (!(message instanceof IoBuffer)) {
<a class="jxr_linenumber" name="L294" href="#L294">294</a>                 <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="L295" href="#L295">295</a>             }
<a class="jxr_linenumber" name="L296" href="#L296">296</a> 
<a class="jxr_linenumber" name="L297" href="#L297">297</a>             IoBuffer rb = (IoBuffer) message;
<a class="jxr_linenumber" name="L298" href="#L298">298</a>             <em class="jxr_comment">// Write the received data back to remote peer</em>
<a class="jxr_linenumber" name="L299" href="#L299">299</a>             IoBuffer wb = IoBuffer.allocate(rb.remaining());
<a class="jxr_linenumber" name="L300" href="#L300">300</a>             wb.put(rb);
<a class="jxr_linenumber" name="L301" href="#L301">301</a>             wb.flip();
<a class="jxr_linenumber" name="L302" href="#L302">302</a>             session.write(wb);
<a class="jxr_linenumber" name="L303" href="#L303">303</a>         }
<a class="jxr_linenumber" name="L304" href="#L304">304</a>     }
<a class="jxr_linenumber" name="L305" href="#L305">305</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2004&#x2013;2018 <a href="http://mina.apache.org/">Apache MINA Project</a>. All rights reserved.</div>
</body>
</html>
