<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractBindTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: AbstractBindTest.java 164524 2005-04-25 02:27:52Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *   Copyright 2004 The Apache Software Foundation</em>
<a name="5" href="#5">5</a>   <em class="comment"> *</em>
<a name="6" href="#6">6</a>   <em class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="7" href="#7">7</a>   <em class="comment"> *   you may not use this file except in compliance with the License.</em>
<a name="8" href="#8">8</a>   <em class="comment"> *   You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</a>  <em class="comment"> *       <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="comment"> *</em>
<a name="12" href="#12">12</a>  <em class="comment"> *   Unless required by applicable law or agreed to in writing, software</em>
<a name="13" href="#13">13</a>  <em class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="14" href="#14">14</a>  <em class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *   See the License for the specific language governing permissions and</em>
<a name="16" href="#16">16</a>  <em class="comment"> *   limitations under the License.</em>
<a name="17" href="#17">17</a>  <em class="comment"> *</em>
<a name="18" href="#18">18</a>  <em class="comment"> */</em>
<a name="19" href="#19">19</a>  <strong>package</strong> <a href="../../../../org/apache/mina/io/package-summary.html">org.apache.mina.io</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.io.IOException;
<a name="22" href="#22">22</a>  <strong>import</strong> java.net.InetSocketAddress;
<a name="23" href="#23">23</a>  <strong>import</strong> java.util.Date;
<a name="24" href="#24">24</a>  
<a name="25" href="#25">25</a>  <strong>import</strong> junit.framework.Assert;
<a name="26" href="#26">26</a>  <strong>import</strong> junit.framework.TestCase;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.mina.examples.echoserver.EchoProtocolHandler;
<a name="29" href="#29">29</a>  
<a name="30" href="#30">30</a>  <em>/**<em>*</em></em>
<a name="31" href="#31">31</a>  <em> * Tests {@link IoAcceptor} resource leakage by repeating bind and unbind.</em>
<a name="32" href="#32">32</a>  <em> * </em>
<a name="33" href="#33">33</a>  <em> * @author Trustin Lee (trustin@apache.org)</em>
<a name="34" href="#34">34</a>  <em> * @version $Rev: 164524 $, $Date: 2005-04-25 11:27:52 +0900 (월, 25  4월 2005) $ </em>
<a name="35" href="#35">35</a>  <em> */</em>
<a name="36" href="#36">36</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/mina/io/AbstractBindTest.html">AbstractBindTest</a> <strong>extends</strong> TestCase
<a name="37" href="#37">37</a>  {
<a name="38" href="#38">38</a>      <strong>protected</strong> <strong>final</strong> IoAcceptor acceptor;
<a name="39" href="#39">39</a>      <strong>protected</strong> <strong>int</strong> port;
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>      <strong>public</strong> <a href="../../../../org/apache/mina/io/AbstractBindTest.html">AbstractBindTest</a>( IoAcceptor acceptor )
<a name="42" href="#42">42</a>      {
<a name="43" href="#43">43</a>          <strong>this</strong>.acceptor = acceptor;
<a name="44" href="#44">44</a>      }
<a name="45" href="#45">45</a>      
<a name="46" href="#46">46</a>      <strong>public</strong> <strong>void</strong> setUp() throws IOException
<a name="47" href="#47">47</a>      {
<a name="48" href="#48">48</a>          <em class="comment">// Find an availble test port and bind to it.</em>
<a name="49" href="#49">49</a>          <strong>boolean</strong> socketBound = false;
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>          <em class="comment">// Let's start from port #1 to detect possible resource leak</em>
<a name="52" href="#52">52</a>          <em class="comment">// because test will fail in port 1-1023 if user run this test</em>
<a name="53" href="#53">53</a>          <em class="comment">// as a normal user.</em>
<a name="54" href="#54">54</a>          <strong>for</strong>( port = 1; port &lt;= 65535; port ++ )
<a name="55" href="#55">55</a>          {
<a name="56" href="#56">56</a>              socketBound = false;
<a name="57" href="#57">57</a>              <strong>try</strong>
<a name="58" href="#58">58</a>              {
<a name="59" href="#59">59</a>                  acceptor.bind( <strong>new</strong> InetSocketAddress( port ),
<a name="60" href="#60">60</a>                          <strong>new</strong> EchoProtocolHandler() );
<a name="61" href="#61">61</a>                  socketBound = <strong>true</strong>;
<a name="62" href="#62">62</a>                  <strong>break</strong>;
<a name="63" href="#63">63</a>              }
<a name="64" href="#64">64</a>              <strong>catch</strong>( IOException e )
<a name="65" href="#65">65</a>              {
<a name="66" href="#66">66</a>              }
<a name="67" href="#67">67</a>          }
<a name="68" href="#68">68</a>  
<a name="69" href="#69">69</a>          <em class="comment">// If there is no port available, test fails.</em>
<a name="70" href="#70">70</a>          <strong>if</strong>( !socketBound )
<a name="71" href="#71">71</a>          {
<a name="72" href="#72">72</a>              <strong>throw</strong> <strong>new</strong> IOException( <span class="string">"Cannot bind any test port."</span> );
<a name="73" href="#73">73</a>          }
<a name="74" href="#74">74</a>  
<a name="75" href="#75">75</a>          <em class="comment">//System.out.println( "Using port " + port + " for testing." );</em>
<a name="76" href="#76">76</a>      }
<a name="77" href="#77">77</a>      
<a name="78" href="#78">78</a>      <strong>public</strong> <strong>void</strong> tearDown()
<a name="79" href="#79">79</a>      {
<a name="80" href="#80">80</a>          <strong>try</strong>
<a name="81" href="#81">81</a>          {
<a name="82" href="#82">82</a>              acceptor.unbind( <strong>new</strong> InetSocketAddress( port ) );
<a name="83" href="#83">83</a>          }
<a name="84" href="#84">84</a>          <strong>catch</strong>( Exception e )
<a name="85" href="#85">85</a>          {
<a name="86" href="#86">86</a>              <em class="comment">// ignore</em>
<a name="87" href="#87">87</a>          }
<a name="88" href="#88">88</a>      }
<a name="89" href="#89">89</a>      
<a name="90" href="#90">90</a>      <strong>public</strong> <strong>void</strong> testDuplicateBind()
<a name="91" href="#91">91</a>      {
<a name="92" href="#92">92</a>          <strong>try</strong>
<a name="93" href="#93">93</a>          {
<a name="94" href="#94">94</a>              acceptor.bind( <strong>new</strong> InetSocketAddress( port ), <strong>new</strong> EchoProtocolHandler() );
<a name="95" href="#95">95</a>              Assert.fail( <span class="string">"IOException is not thrown"</span> );
<a name="96" href="#96">96</a>          }
<a name="97" href="#97">97</a>          <strong>catch</strong>( IOException e )
<a name="98" href="#98">98</a>          {
<a name="99" href="#99">99</a>          }
<a name="100" href="#100">100</a>     }
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>     <strong>public</strong> <strong>void</strong> testDuplicateUnbind()
<a name="103" href="#103">103</a>     {
<a name="104" href="#104">104</a>         <em class="comment">// this should succeed</em>
<a name="105" href="#105">105</a>         acceptor.unbind( <strong>new</strong> InetSocketAddress( port ) );
<a name="106" href="#106">106</a>         
<a name="107" href="#107">107</a>         <strong>try</strong>
<a name="108" href="#108">108</a>         {
<a name="109" href="#109">109</a>             <em class="comment">// this should fail</em>
<a name="110" href="#110">110</a>             acceptor.unbind( <strong>new</strong> InetSocketAddress( port ) );
<a name="111" href="#111">111</a>             Assert.fail( <span class="string">"Exception is not thrown"</span> );
<a name="112" href="#112">112</a>         }
<a name="113" href="#113">113</a>         <strong>catch</strong>( Exception e )
<a name="114" href="#114">114</a>         {
<a name="115" href="#115">115</a>         }
<a name="116" href="#116">116</a>     }
<a name="117" href="#117">117</a>     
<a name="118" href="#118">118</a>     <strong>public</strong> <strong>void</strong> testManyTimes() throws IOException
<a name="119" href="#119">119</a>     {
<a name="120" href="#120">120</a>         InetSocketAddress addr = <strong>new</strong> InetSocketAddress( port );
<a name="121" href="#121">121</a>         EchoProtocolHandler handler = <strong>new</strong> EchoProtocolHandler();
<a name="122" href="#122">122</a>         <strong>for</strong>( <strong>int</strong> i = 0; i &lt; 1024; i++ ) 
<a name="123" href="#123">123</a>         {
<a name="124" href="#124">124</a>             acceptor.unbind( addr );
<a name="125" href="#125">125</a>             acceptor.bind( addr, handler );
<a name="126" href="#126">126</a>         }
<a name="127" href="#127">127</a>     }
<a name="128" href="#128">128</a>     
<a name="129" href="#129">129</a>     <strong>public</strong> <strong>void</strong> _testRegressively() throws IOException
<a name="130" href="#130">130</a>     {
<a name="131" href="#131">131</a>         tearDown();
<a name="132" href="#132">132</a> 
<a name="133" href="#133">133</a>         InetSocketAddress addr = <strong>new</strong> InetSocketAddress( port );
<a name="134" href="#134">134</a>         EchoProtocolHandler handler = <strong>new</strong> EchoProtocolHandler();
<a name="135" href="#135">135</a>         <strong>for</strong>( <strong>int</strong> i = 0; i &lt; 1048576; i++ )
<a name="136" href="#136">136</a>         {
<a name="137" href="#137">137</a>             acceptor.bind( addr, handler );
<a name="138" href="#138">138</a>             testDuplicateBind();
<a name="139" href="#139">139</a>             testDuplicateUnbind();
<a name="140" href="#140">140</a>             <strong>if</strong>( i % 100 == 0 )
<a name="141" href="#141">141</a>             {
<a name="142" href="#142">142</a>                 System.out.println( i + <span class="string">" ("</span> + <strong>new</strong> Date() + <span class="string">")"</span> );
<a name="143" href="#143">143</a>             }
<a name="144" href="#144">144</a>         }
<a name="145" href="#145">145</a>         setUp();
<a name="146" href="#146">146</a>     }
<a name="147" href="#147">147</a> 
<a name="148" href="#148">148</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

