<!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>ConnectorTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">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 name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.example.echoserver;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.net.InetSocketAddress;
<a name="23" href="#23">23</a>  
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> junit.framework.Assert;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.RuntimeIoException;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.ConnectFuture;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.WriteFuture;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.IoConnector;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.IoHandlerAdapter;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteException;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.example.echoserver.ssl.BogusSslContextFactory;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.filter.ssl.SslFilter;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.transport.socket.nio.NioDatagramConnector;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.transport.socket.nio.NioSocketConnector;
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.util.AvailablePortFinder;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a name="41" href="#41">41</a>  
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment">/**</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * Tests echo server example.</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> *</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> */</em>
<a name="47" href="#47">47</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/example/echoserver/ConnectorTest.html">ConnectorTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/example/echoserver/AbstractTest.html">AbstractTest</a> {
<a name="48" href="#48">48</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> Logger LOGGER = LoggerFactory.getLogger(ConnectorTest.<strong class="jxr_keyword">class</strong>);
<a name="49" href="#49">49</a>  
<a name="50" href="#50">50</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> TIMEOUT = 10000; <em class="jxr_comment">// 10 seconds</em>
<a name="51" href="#51">51</a>  
<a name="52" href="#52">52</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> COUNT = 10;
<a name="53" href="#53">53</a>  
<a name="54" href="#54">54</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DATA_SIZE = 16;
<a name="55" href="#55">55</a>  
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/example/echoserver/ConnectorTest.html">EchoConnectorHandler</a> handler;
<a name="57" href="#57">57</a>      <strong class="jxr_keyword">private</strong> SslFilter connectorSSLFilter;
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/example/echoserver/ConnectorTest.html">ConnectorTest</a>() {
<a name="60" href="#60">60</a>          <em class="jxr_comment">// Do nothing</em>
<a name="61" href="#61">61</a>      }
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>      @Override
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception {
<a name="65" href="#65">65</a>          <strong class="jxr_keyword">super</strong>.setUp();
<a name="66" href="#66">66</a>          handler = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/example/echoserver/ConnectorTest.html">EchoConnectorHandler</a>();
<a name="67" href="#67">67</a>          connectorSSLFilter = <strong class="jxr_keyword">new</strong> SslFilter(BogusSslContextFactory
<a name="68" href="#68">68</a>                  .getInstance(false));
<a name="69" href="#69">69</a>          connectorSSLFilter.setUseClientMode(<strong class="jxr_keyword">true</strong>); <em class="jxr_comment">// set client mode</em>
<a name="70" href="#70">70</a>      }
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTCP() <strong class="jxr_keyword">throws</strong> Exception {
<a name="73" href="#73">73</a>          IoConnector connector = <strong class="jxr_keyword">new</strong> NioSocketConnector();
<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 class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTCPWithSSL() <strong class="jxr_keyword">throws</strong> Exception {
<a name="78" href="#78">78</a>          useSSL = <strong class="jxr_keyword">true</strong>;
<a name="79" href="#79">79</a>          <em class="jxr_comment">// Create a connector</em>
<a name="80" href="#80">80</a>          IoConnector connector = <strong class="jxr_keyword">new</strong> NioSocketConnector();
<a name="81" href="#81">81</a>  
<a name="82" href="#82">82</a>          <em class="jxr_comment">// Add an SSL filter to connector</em>
<a name="83" href="#83">83</a>          connector.getFilterChain().addLast(<span class="jxr_string">"SSL"</span>, connectorSSLFilter);
<a name="84" href="#84">84</a>          testConnector(connector);
<a name="85" href="#85">85</a>      }
<a name="86" href="#86">86</a>  
<a name="87" href="#87">87</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testUDP() <strong class="jxr_keyword">throws</strong> Exception {
<a name="88" href="#88">88</a>          IoConnector connector = <strong class="jxr_keyword">new</strong> NioDatagramConnector();
<a name="89" href="#89">89</a>          testConnector(connector);
<a name="90" href="#90">90</a>      }
<a name="91" href="#91">91</a>  
<a name="92" href="#92">92</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> testConnector(IoConnector connector) <strong class="jxr_keyword">throws</strong> Exception {
<a name="93" href="#93">93</a>          connector.setHandler(handler);
<a name="94" href="#94">94</a>  
<a name="95" href="#95">95</a>          <em class="jxr_comment">//System.out.println("* Without localAddress");</em>
<a name="96" href="#96">96</a>          testConnector(connector, false);
<a name="97" href="#97">97</a>  
<a name="98" href="#98">98</a>          <em class="jxr_comment">//System.out.println("* With localAddress");</em>
<a name="99" href="#99">99</a>          testConnector(connector, <strong class="jxr_keyword">true</strong>);
<a name="100" href="#100">100</a>     }
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> testConnector(IoConnector connector, <strong class="jxr_keyword">boolean</strong> useLocalAddress)
<a name="103" href="#103">103</a>             <strong class="jxr_keyword">throws</strong> Exception {
<a name="104" href="#104">104</a>         IoSession session = <strong class="jxr_keyword">null</strong>;
<a name="105" href="#105">105</a>         <strong class="jxr_keyword">if</strong> (!useLocalAddress) {
<a name="106" href="#106">106</a>             ConnectFuture future = connector.connect(<strong class="jxr_keyword">new</strong> InetSocketAddress(
<a name="107" href="#107">107</a>                     <span class="jxr_string">"127.0.0.1"</span>, port));
<a name="108" href="#108">108</a>             future.awaitUninterruptibly();
<a name="109" href="#109">109</a>             session = future.getSession();
<a name="110" href="#110">110</a>         } <strong class="jxr_keyword">else</strong> {
<a name="111" href="#111">111</a>             <strong class="jxr_keyword">int</strong> clientPort = port;
<a name="112" href="#112">112</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 65536; i++) {
<a name="113" href="#113">113</a>                 clientPort = AvailablePortFinder
<a name="114" href="#114">114</a>                         .getNextAvailable(clientPort + 1);
<a name="115" href="#115">115</a>                 <strong class="jxr_keyword">try</strong> {
<a name="116" href="#116">116</a>                     ConnectFuture future = connector.connect(
<a name="117" href="#117">117</a>                             <strong class="jxr_keyword">new</strong> InetSocketAddress(<span class="jxr_string">"127.0.0.1"</span>, port),
<a name="118" href="#118">118</a>                             <strong class="jxr_keyword">new</strong> InetSocketAddress(clientPort));
<a name="119" href="#119">119</a>                     future.awaitUninterruptibly();
<a name="120" href="#120">120</a>                     session = future.getSession();
<a name="121" href="#121">121</a>                     <strong class="jxr_keyword">break</strong>;
<a name="122" href="#122">122</a>                 } <strong class="jxr_keyword">catch</strong> (RuntimeIoException e) {
<a name="123" href="#123">123</a>                     <em class="jxr_comment">// Try again until we succeed to bind.</em>
<a name="124" href="#124">124</a>                 }
<a name="125" href="#125">125</a>             }
<a name="126" href="#126">126</a> 
<a name="127" href="#127">127</a>             <strong class="jxr_keyword">if</strong> (session == <strong class="jxr_keyword">null</strong>) {
<a name="128" href="#128">128</a>                 Assert.fail(<span class="jxr_string">"Failed to find out an appropriate local address."</span>);
<a name="129" href="#129">129</a>             }
<a name="130" href="#130">130</a>         }
<a name="131" href="#131">131</a> 
<a name="132" href="#132">132</a>         <em class="jxr_comment">// Run a basic connector test.</em>
<a name="133" href="#133">133</a>         testConnector0(session);
<a name="134" href="#134">134</a> 
<a name="135" href="#135">135</a>         <em class="jxr_comment">// Send closeNotify to test TLS closure if it is TLS connection.</em>
<a name="136" href="#136">136</a>         <strong class="jxr_keyword">if</strong> (useSSL) {
<a name="137" href="#137">137</a>             connectorSSLFilter.stopSsl(session).awaitUninterruptibly();
<a name="138" href="#138">138</a> 
<a name="139" href="#139">139</a>             System.out
<a name="140" href="#140">140</a>                     .println(<span class="jxr_string">"-------------------------------------------------------------------------------"</span>);
<a name="141" href="#141">141</a>             <em class="jxr_comment">// Test again after we finished TLS session.</em>
<a name="142" href="#142">142</a>             testConnector0(session);
<a name="143" href="#143">143</a> 
<a name="144" href="#144">144</a>             System.out
<a name="145" href="#145">145</a>                     .println(<span class="jxr_string">"-------------------------------------------------------------------------------"</span>);
<a name="146" href="#146">146</a> 
<a name="147" href="#147">147</a>             <em class="jxr_comment">// Test if we can enter TLS mode again.</em>
<a name="148" href="#148">148</a>             <em class="jxr_comment">//// Send StartTLS request.</em>
<a name="149" href="#149">149</a>             handler.readBuf.clear();
<a name="150" href="#150">150</a>             IoBuffer buf = IoBuffer.allocate(1);
<a name="151" href="#151">151</a>             buf.put((byte) '.');
<a name="152" href="#152">152</a>             buf.flip();
<a name="153" href="#153">153</a>             session.write(buf).awaitUninterruptibly();
<a name="154" href="#154">154</a> 
<a name="155" href="#155">155</a>             <em class="jxr_comment">//// Wait for StartTLS response.</em>
<a name="156" href="#156">156</a>             waitForResponse(handler, 1);
<a name="157" href="#157">157</a> 
<a name="158" href="#158">158</a>             handler.readBuf.flip();
<a name="159" href="#159">159</a>             Assert.assertEquals(1, handler.readBuf.remaining());
<a name="160" href="#160">160</a>             Assert.assertEquals((byte) '.', handler.readBuf.get());
<a name="161" href="#161">161</a> 
<a name="162" href="#162">162</a>             <em class="jxr_comment">// Now start TLS connection</em>
<a name="163" href="#163">163</a>             Assert.assertTrue(connectorSSLFilter.startSsl(session));
<a name="164" href="#164">164</a>             testConnector0(session);
<a name="165" href="#165">165</a>         }
<a name="166" href="#166">166</a> 
<a name="167" href="#167">167</a>         session.close(<strong class="jxr_keyword">true</strong>).awaitUninterruptibly();
<a name="168" href="#168">168</a>     }
<a name="169" href="#169">169</a> 
<a name="170" href="#170">170</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> testConnector0(IoSession session) <strong class="jxr_keyword">throws</strong> InterruptedException {
<a name="171" href="#171">171</a>         <a href="../../../../../org/apache/mina/example/echoserver/ConnectorTest.html">EchoConnectorHandler</a> handler = (EchoConnectorHandler) session
<a name="172" href="#172">172</a>                 .getHandler();
<a name="173" href="#173">173</a>         IoBuffer readBuf = handler.readBuf;
<a name="174" href="#174">174</a>         readBuf.clear();
<a name="175" href="#175">175</a>         WriteFuture writeFuture = <strong class="jxr_keyword">null</strong>;
<a name="176" href="#176">176</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; COUNT; i++) {
<a name="177" href="#177">177</a>             IoBuffer buf = IoBuffer.allocate(DATA_SIZE);
<a name="178" href="#178">178</a>             buf.limit(DATA_SIZE);
<a name="179" href="#179">179</a>             fillWriteBuffer(buf, i);
<a name="180" href="#180">180</a>             buf.flip();
<a name="181" href="#181">181</a> 
<a name="182" href="#182">182</a>             writeFuture = session.write(buf);
<a name="183" href="#183">183</a> 
<a name="184" href="#184">184</a>             <strong class="jxr_keyword">if</strong> (session.getService().getTransportMetadata().isConnectionless()) {
<a name="185" href="#185">185</a>                 <em class="jxr_comment">// This will align message arrival order in connectionless transport types</em>
<a name="186" href="#186">186</a>                 waitForResponse(handler, (i + 1) * DATA_SIZE);
<a name="187" href="#187">187</a>             }
<a name="188" href="#188">188</a>         }
<a name="189" href="#189">189</a> 
<a name="190" href="#190">190</a>         writeFuture.awaitUninterruptibly();
<a name="191" href="#191">191</a> 
<a name="192" href="#192">192</a>         waitForResponse(handler, DATA_SIZE * COUNT);
<a name="193" href="#193">193</a> 
<a name="194" href="#194">194</a>         <em class="jxr_comment">// Assert data</em>
<a name="195" href="#195">195</a>         <em class="jxr_comment">//// Please note that BufferOverflowException can be thrown</em>
<a name="196" href="#196">196</a>         <em class="jxr_comment">//// in SocketIoProcessor if there was a read timeout because</em>
<a name="197" href="#197">197</a>         <em class="jxr_comment">//// we share readBuf.</em>
<a name="198" href="#198">198</a>         readBuf.flip();
<a name="199" href="#199">199</a>         LOGGER.info(<span class="jxr_string">"readBuf: "</span> + readBuf);
<a name="200" href="#200">200</a>         Assert.assertEquals(DATA_SIZE * COUNT, readBuf.remaining());
<a name="201" href="#201">201</a>         IoBuffer expectedBuf = IoBuffer.allocate(DATA_SIZE * COUNT);
<a name="202" href="#202">202</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; COUNT; i++) {
<a name="203" href="#203">203</a>             expectedBuf.limit((i + 1) * DATA_SIZE);
<a name="204" href="#204">204</a>             fillWriteBuffer(expectedBuf, i);
<a name="205" href="#205">205</a>         }
<a name="206" href="#206">206</a>         expectedBuf.position(0);
<a name="207" href="#207">207</a> 
<a name="208" href="#208">208</a>         assertEquals(expectedBuf, readBuf);
<a name="209" href="#209">209</a>     }
<a name="210" href="#210">210</a> 
<a name="211" href="#211">211</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> waitForResponse(<a href="../../../../../org/apache/mina/example/echoserver/ConnectorTest.html">EchoConnectorHandler</a> handler, <strong class="jxr_keyword">int</strong> bytes)
<a name="212" href="#212">212</a>             <strong class="jxr_keyword">throws</strong> InterruptedException {
<a name="213" href="#213">213</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> j = 0; j &lt; TIMEOUT / 10; j++) {
<a name="214" href="#214">214</a>             <strong class="jxr_keyword">if</strong> (handler.readBuf.position() &gt;= bytes) {
<a name="215" href="#215">215</a>                 <strong class="jxr_keyword">break</strong>;
<a name="216" href="#216">216</a>             }
<a name="217" href="#217">217</a>             Thread.sleep(10);
<a name="218" href="#218">218</a>         }
<a name="219" href="#219">219</a> 
<a name="220" href="#220">220</a>         Assert.assertEquals(bytes, handler.readBuf.position());
<a name="221" href="#221">221</a>     }
<a name="222" href="#222">222</a> 
<a name="223" href="#223">223</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> fillWriteBuffer(IoBuffer writeBuf, <strong class="jxr_keyword">int</strong> i) {
<a name="224" href="#224">224</a>         <strong class="jxr_keyword">while</strong> (writeBuf.remaining() &gt; 0) {
<a name="225" href="#225">225</a>             writeBuf.put((byte) i++);
<a name="226" href="#226">226</a>         }
<a name="227" href="#227">227</a>     }
<a name="228" href="#228">228</a> 
<a name="229" href="#229">229</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String[] args) {
<a name="230" href="#230">230</a>         junit.textui.TestRunner.run(ConnectorTest.<strong class="jxr_keyword">class</strong>);
<a name="231" href="#231">231</a>     }
<a name="232" href="#232">232</a> 
<a name="233" href="#233">233</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/example/echoserver/ConnectorTest.html">EchoConnectorHandler</a> <strong class="jxr_keyword">extends</strong> IoHandlerAdapter {
<a name="234" href="#234">234</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> IoBuffer readBuf = IoBuffer.allocate(1024);
<a name="235" href="#235">235</a> 
<a name="236" href="#236">236</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/example/echoserver/ConnectorTest.html">EchoConnectorHandler</a>() {
<a name="237" href="#237">237</a>             readBuf.setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="238" href="#238">238</a>         }
<a name="239" href="#239">239</a> 
<a name="240" href="#240">240</a>         @Override
<a name="241" href="#241">241</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageReceived(IoSession session, Object message) {
<a name="242" href="#242">242</a>             readBuf.put((IoBuffer) message);
<a name="243" href="#243">243</a>         }
<a name="244" href="#244">244</a> 
<a name="245" href="#245">245</a>         @Override
<a name="246" href="#246">246</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageSent(IoSession session, Object message) {
<a name="247" href="#247">247</a>         }
<a name="248" href="#248">248</a> 
<a name="249" href="#249">249</a>         @Override
<a name="250" href="#250">250</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exceptionCaught(IoSession session, Throwable cause) {
<a name="251" href="#251">251</a>             LOGGER.warn(<span class="jxr_string">"Unexpected exception."</span>, cause);
<a name="252" href="#252">252</a>             <strong class="jxr_keyword">if</strong> (cause instanceof WriteException) {
<a name="253" href="#253">253</a>                 WriteException e = (WriteException) cause;
<a name="254" href="#254">254</a>                 LOGGER.warn(<span class="jxr_string">"Failed write requests: {}"</span>, e.getRequests());
<a name="255" href="#255">255</a>             }
<a name="256" href="#256">256</a>         }
<a name="257" href="#257">257</a>     }
<a name="258" href="#258">258</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

