<!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>ConnectorTest 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: ConnectorTest.java 357871 2005-12-20 01:56:40Z 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/examples/echoserver/package-summary.html">org.apache.mina.examples.echoserver</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.net.BindException;
<a name="22" href="#22">22</a>  <strong>import</strong> java.net.InetAddress;
<a name="23" href="#23">23</a>  <strong>import</strong> java.net.InetSocketAddress;
<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>  
<a name="27" href="#27">27</a>  <strong>import</strong> org.apache.mina.common.ByteBuffer;
<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.mina.common.TransportType;
<a name="29" href="#29">29</a>  <strong>import</strong> org.apache.mina.examples.echoserver.ssl.BogusSSLContextFactory;
<a name="30" href="#30">30</a>  <strong>import</strong> org.apache.mina.io.IoAcceptor;
<a name="31" href="#31">31</a>  <strong>import</strong> org.apache.mina.io.IoConnector;
<a name="32" href="#32">32</a>  <strong>import</strong> org.apache.mina.io.IoHandlerAdapter;
<a name="33" href="#33">33</a>  <strong>import</strong> org.apache.mina.io.IoSession;
<a name="34" href="#34">34</a>  <strong>import</strong> org.apache.mina.io.datagram.DatagramConnector;
<a name="35" href="#35">35</a>  <strong>import</strong> org.apache.mina.io.filter.SSLFilter;
<a name="36" href="#36">36</a>  <strong>import</strong> org.apache.mina.io.socket.SocketConnector;
<a name="37" href="#37">37</a>  <strong>import</strong> org.apache.mina.util.AvailablePortFinder;
<a name="38" href="#38">38</a>  
<a name="39" href="#39">39</a>  <em>/**<em>*</em></em>
<a name="40" href="#40">40</a>  <em> * Tests echo server example.</em>
<a name="41" href="#41">41</a>  <em> * </em>
<a name="42" href="#42">42</a>  <em> * @author The Apache Directory Project (dev@directory.apache.org)</em>
<a name="43" href="#43">43</a>  <em> * @version $Rev: 357871 $, $Date: 2005-12-20 10:56:40 +0900 (Tue, 20 Dec 2005) $</em>
<a name="44" href="#44">44</a>  <em> */</em>
<a name="45" href="#45">45</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/examples/echoserver/ConnectorTest.html">ConnectorTest</a> <strong>extends</strong> <a href="../../../../../org/apache/mina/examples/echoserver/AbstractTest.html">AbstractTest</a>
<a name="46" href="#46">46</a>  {
<a name="47" href="#47">47</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/examples/echoserver/ConnectorTest.html">ConnectorTest</a>()
<a name="48" href="#48">48</a>      {
<a name="49" href="#49">49</a>      }
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>      <strong>public</strong> <strong>void</strong> testTCP() throws Exception
<a name="52" href="#52">52</a>      {
<a name="53" href="#53">53</a>          IoConnector connector = <strong>new</strong> SocketConnector();
<a name="54" href="#54">54</a>          testConnector( connector );
<a name="55" href="#55">55</a>      }
<a name="56" href="#56">56</a>      
<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> testTCPWithSSL() throws Exception
<a name="58" href="#58">58</a>      {
<a name="59" href="#59">59</a>          <em class="comment">// Add an SSL filter to acceptor</em>
<a name="60" href="#60">60</a>          SSLFilter acceptorSSLFilter =
<a name="61" href="#61">61</a>              <strong>new</strong> SSLFilter( BogusSSLContextFactory.getInstance( <strong>true</strong> ) );
<a name="62" href="#62">62</a>          IoAcceptor acceptor = registry.getIoAcceptor( TransportType.SOCKET );
<a name="63" href="#63">63</a>          acceptor.getFilterChain().addLast( <span class="string">"SSL"</span>, acceptorSSLFilter );
<a name="64" href="#64">64</a>  
<a name="65" href="#65">65</a>          <em class="comment">// Create a connector</em>
<a name="66" href="#66">66</a>          IoConnector connector = <strong>new</strong> SocketConnector();
<a name="67" href="#67">67</a>          
<a name="68" href="#68">68</a>          <em class="comment">// Add an SSL filter to connector</em>
<a name="69" href="#69">69</a>          SSLFilter connectorSSLFilter =
<a name="70" href="#70">70</a>              <strong>new</strong> SSLFilter( BogusSSLContextFactory.getInstance( false ) );
<a name="71" href="#71">71</a>          connectorSSLFilter.setUseClientMode( <strong>true</strong> ); <em class="comment">// set client mode</em>
<a name="72" href="#72">72</a>          connector.getFilterChain().addLast( <span class="string">"SSL"</span>, connectorSSLFilter );
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>          testConnector( connector );
<a name="75" href="#75">75</a>      }
<a name="76" href="#76">76</a>      
<a name="77" href="#77">77</a>      <strong>public</strong> <strong>void</strong> testUDP() throws Exception
<a name="78" href="#78">78</a>      {
<a name="79" href="#79">79</a>          IoConnector connector = <strong>new</strong> DatagramConnector();
<a name="80" href="#80">80</a>          testConnector( connector );
<a name="81" href="#81">81</a>      }
<a name="82" href="#82">82</a>      
<a name="83" href="#83">83</a>      <strong>private</strong> <strong>void</strong> testConnector( IoConnector connector ) throws Exception
<a name="84" href="#84">84</a>      {
<a name="85" href="#85">85</a>          System.out.println(<span class="string">"* Without localAddress"</span>);
<a name="86" href="#86">86</a>          testConnector( connector, false );
<a name="87" href="#87">87</a>          
<a name="88" href="#88">88</a>          System.out.println(<span class="string">"* With localAddress"</span>);
<a name="89" href="#89">89</a>          testConnector( connector, <strong>true</strong> );
<a name="90" href="#90">90</a>      }
<a name="91" href="#91">91</a>      
<a name="92" href="#92">92</a>      <strong>private</strong> <strong>void</strong> testConnector( IoConnector connector, <strong>boolean</strong> useLocalAddress ) throws Exception
<a name="93" href="#93">93</a>      {
<a name="94" href="#94">94</a>          EchoConnectorHandler handler = <strong>new</strong> EchoConnectorHandler();
<a name="95" href="#95">95</a>          ByteBuffer readBuf = handler.readBuf;
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>          IoSession session = <strong>null</strong>;
<a name="98" href="#98">98</a>          <strong>if</strong>( !useLocalAddress )
<a name="99" href="#99">99</a>          {
<a name="100" href="#100">100</a>             session = connector.connect(
<a name="101" href="#101">101</a>                     <strong>new</strong> InetSocketAddress( InetAddress.getLocalHost(), port ),
<a name="102" href="#102">102</a>                     handler );
<a name="103" href="#103">103</a>         }
<a name="104" href="#104">104</a>         <strong>else</strong>
<a name="105" href="#105">105</a>         {
<a name="106" href="#106">106</a>             <strong>int</strong> clientPort = port;
<a name="107" href="#107">107</a>             <strong>for</strong>( <strong>int</strong> i = 0; i &lt; 65536; i ++ )
<a name="108" href="#108">108</a>             {
<a name="109" href="#109">109</a>                 clientPort = AvailablePortFinder.getNextAvailable( clientPort + 1 );
<a name="110" href="#110">110</a>                 <strong>try</strong>
<a name="111" href="#111">111</a>                 {
<a name="112" href="#112">112</a>                     session = connector.connect(
<a name="113" href="#113">113</a>                             <strong>new</strong> InetSocketAddress( InetAddress.getLocalHost(), port ),
<a name="114" href="#114">114</a>                             <strong>new</strong> InetSocketAddress( clientPort ),
<a name="115" href="#115">115</a>                             handler );
<a name="116" href="#116">116</a>                     <strong>break</strong>;
<a name="117" href="#117">117</a>                 }
<a name="118" href="#118">118</a>                 <strong>catch</strong>( BindException e )
<a name="119" href="#119">119</a>                 {
<a name="120" href="#120">120</a>                     <em class="comment">// Try again until we succeed to bind.</em>
<a name="121" href="#121">121</a>                 }
<a name="122" href="#122">122</a>             }
<a name="123" href="#123">123</a> 
<a name="124" href="#124">124</a>             <strong>if</strong>( session == <strong>null</strong> )
<a name="125" href="#125">125</a>             {
<a name="126" href="#126">126</a>                 Assert.fail( <span class="string">"Failed to find out an appropriate local address."</span> );
<a name="127" href="#127">127</a>             }
<a name="128" href="#128">128</a>         }
<a name="129" href="#129">129</a>         
<a name="130" href="#130">130</a>         <strong>for</strong>( <strong>int</strong> i = 0; i &lt; 10; i ++ )
<a name="131" href="#131">131</a>         {
<a name="132" href="#132">132</a>             ByteBuffer buf = ByteBuffer.allocate( 16 );
<a name="133" href="#133">133</a>             buf.limit( 16 );
<a name="134" href="#134">134</a>             fillWriteBuffer( buf, i );
<a name="135" href="#135">135</a>             buf.flip();
<a name="136" href="#136">136</a> 
<a name="137" href="#137">137</a>             Object marker;
<a name="138" href="#138">138</a>             <strong>if</strong>( ( i &amp; 1 ) == 0 )
<a name="139" href="#139">139</a>             {
<a name="140" href="#140">140</a>                 marker = <strong>new</strong> Integer( i );
<a name="141" href="#141">141</a>             }
<a name="142" href="#142">142</a>             <strong>else</strong>
<a name="143" href="#143">143</a>             {
<a name="144" href="#144">144</a>                 marker = <strong>null</strong>;
<a name="145" href="#145">145</a>             }
<a name="146" href="#146">146</a> 
<a name="147" href="#147">147</a>             session.write( buf, marker );
<a name="148" href="#148">148</a> 
<a name="149" href="#149">149</a>             <em class="comment">// This will align message arrival order in UDP</em>
<a name="150" href="#150">150</a>             <strong>for</strong>( <strong>int</strong> j = 0; j &lt; 100; j ++ )
<a name="151" href="#151">151</a>             {
<a name="152" href="#152">152</a>                 <strong>if</strong>( readBuf.position() == ( i + 1 ) * 16 )
<a name="153" href="#153">153</a>                 {
<a name="154" href="#154">154</a>                     <strong>break</strong>;
<a name="155" href="#155">155</a>                 }
<a name="156" href="#156">156</a>                 Thread.sleep( 10 );
<a name="157" href="#157">157</a>             }
<a name="158" href="#158">158</a>         }
<a name="159" href="#159">159</a>         
<a name="160" href="#160">160</a>         <strong>for</strong>( <strong>int</strong> i = 0; i &lt; 100; i++ ) {
<a name="161" href="#161">161</a>             <strong>if</strong>( readBuf.position() == 160 )
<a name="162" href="#162">162</a>             {
<a name="163" href="#163">163</a>                 <strong>break</strong>;
<a name="164" href="#164">164</a>             }
<a name="165" href="#165">165</a>             <strong>else</strong>
<a name="166" href="#166">166</a>             {
<a name="167" href="#167">167</a>                 Thread.sleep( 10 );
<a name="168" href="#168">168</a>             }
<a name="169" href="#169">169</a>         }
<a name="170" href="#170">170</a> 
<a name="171" href="#171">171</a>         session.close( <strong>true</strong> );
<a name="172" href="#172">172</a>         
<a name="173" href="#173">173</a>         Assert.assertEquals( 160, readBuf.position() );
<a name="174" href="#174">174</a>         readBuf.flip();
<a name="175" href="#175">175</a>         
<a name="176" href="#176">176</a>         ByteBuffer expectedBuf = ByteBuffer.allocate( 160 );
<a name="177" href="#177">177</a>         <strong>for</strong>( <strong>int</strong> i = 0; i &lt; 10; i ++ ) {
<a name="178" href="#178">178</a>             expectedBuf.limit( ( i + 1 ) * 16 );
<a name="179" href="#179">179</a>             fillWriteBuffer( expectedBuf, i );
<a name="180" href="#180">180</a>         }
<a name="181" href="#181">181</a>         expectedBuf.position( 0 );
<a name="182" href="#182">182</a>         assertEquals(expectedBuf, readBuf);
<a name="183" href="#183">183</a>     }
<a name="184" href="#184">184</a> 
<a name="185" href="#185">185</a>     <strong>private</strong> <strong>void</strong> fillWriteBuffer( ByteBuffer writeBuf, <strong>int</strong> i )
<a name="186" href="#186">186</a>     {
<a name="187" href="#187">187</a>         <strong>while</strong>( writeBuf.remaining() > 0 )
<a name="188" href="#188">188</a>         {
<a name="189" href="#189">189</a>             writeBuf.put( ( byte ) ( i ++ ) );
<a name="190" href="#190">190</a>         }
<a name="191" href="#191">191</a>     }
<a name="192" href="#192">192</a> 
<a name="193" href="#193">193</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> main( String[] args )
<a name="194" href="#194">194</a>     {
<a name="195" href="#195">195</a>         junit.textui.TestRunner.run( ConnectorTest.<strong>class</strong> );
<a name="196" href="#196">196</a>     }
<a name="197" href="#197">197</a>     
<a name="198" href="#198">198</a>     <strong>private</strong> <strong>static</strong> <strong>class</strong> EchoConnectorHandler <strong>extends</strong> IoHandlerAdapter
<a name="199" href="#199">199</a>     {
<a name="200" href="#200">200</a>         <strong>private</strong> ByteBuffer readBuf = ByteBuffer.allocate( 1024 );
<a name="201" href="#201">201</a>         <strong>private</strong> <strong>int</strong> counter = 0;
<a name="202" href="#202">202</a> 
<a name="203" href="#203">203</a>         <strong>public</strong> <strong>void</strong> dataRead( IoSession session, ByteBuffer buf )
<a name="204" href="#204">204</a>         {
<a name="205" href="#205">205</a>             readBuf.put( buf );
<a name="206" href="#206">206</a>         }
<a name="207" href="#207">207</a>         
<a name="208" href="#208">208</a>         <strong>public</strong> <strong>void</strong> dataWritten( IoSession session, Object marker )
<a name="209" href="#209">209</a>         {
<a name="210" href="#210">210</a>             <strong>if</strong>( ( counter &amp; 1 ) == 0 )
<a name="211" href="#211">211</a>             {
<a name="212" href="#212">212</a>                 Assert.assertEquals( <strong>new</strong> Integer( counter ), marker );
<a name="213" href="#213">213</a>             }
<a name="214" href="#214">214</a>             <strong>else</strong>
<a name="215" href="#215">215</a>             {
<a name="216" href="#216">216</a>                 Assert.assertNull( marker );
<a name="217" href="#217">217</a>             }
<a name="218" href="#218">218</a>             
<a name="219" href="#219">219</a>             counter ++;
<a name="220" href="#220">220</a>         }
<a name="221" href="#221">221</a> 
<a name="222" href="#222">222</a>         <strong>public</strong> <strong>void</strong> exceptionCaught( IoSession session, Throwable cause )
<a name="223" href="#223">223</a>         {
<a name="224" href="#224">224</a>             cause.printStackTrace();
<a name="225" href="#225">225</a>         }
<a name="226" href="#226">226</a>     }
<a name="227" href="#227">227</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

