<!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>ServerSessionHandler xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/examples/sumup/ServerSessionHandler.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: ServerSessionHandler.java 264677 2005-08-30 02:44:35Z 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/sumup/package-summary.html">org.apache.mina.examples.sumup</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.util.logging.Level;
<a name="22" href="#22">22</a>  
<a name="23" href="#23">23</a>  <strong>import</strong> org.apache.mina.common.IdleStatus;
<a name="24" href="#24">24</a>  <strong>import</strong> org.apache.mina.examples.sumup.message.AddMessage;
<a name="25" href="#25">25</a>  <strong>import</strong> org.apache.mina.examples.sumup.message.ResultMessage;
<a name="26" href="#26">26</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolHandler;
<a name="27" href="#27">27</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolSession;
<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.mina.protocol.filter.ProtocolLoggingFilter;
<a name="29" href="#29">29</a>  <strong>import</strong> org.apache.mina.util.SessionLog;
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>  <em>/**<em>*</em></em>
<a name="32" href="#32">32</a>  <em> * {@link ProtocolHandler} for SumUp server.</em>
<a name="33" href="#33">33</a>  <em> * </em>
<a name="34" href="#34">34</a>  <em> * @author The Apache Directory Project</em>
<a name="35" href="#35">35</a>  <em> * @version $Rev: 264677 $, $Date: 2005-08-30 11:44:35 +0900 $</em>
<a name="36" href="#36">36</a>  <em> */</em>
<a name="37" href="#37">37</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/examples/sumup/ServerSessionHandler.html">ServerSessionHandler</a> implements ProtocolHandler
<a name="38" href="#38">38</a>  {
<a name="39" href="#39">39</a>  
<a name="40" href="#40">40</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/examples/sumup/ServerSessionHandler.html">ServerSessionHandler</a>()
<a name="41" href="#41">41</a>      {
<a name="42" href="#42">42</a>      }
<a name="43" href="#43">43</a>  
<a name="44" href="#44">44</a>      <strong>public</strong> <strong>void</strong> sessionCreated( ProtocolSession session ) throws Exception
<a name="45" href="#45">45</a>      {
<a name="46" href="#46">46</a>          session.getFilterChain().addLast(
<a name="47" href="#47">47</a>                  <span class="string">"logger"</span>, <strong>new</strong> ProtocolLoggingFilter() );
<a name="48" href="#48">48</a>      }
<a name="49" href="#49">49</a>  
<a name="50" href="#50">50</a>      <strong>public</strong> <strong>void</strong> sessionOpened( ProtocolSession session )
<a name="51" href="#51">51</a>      {
<a name="52" href="#52">52</a>          <em class="comment">// set idle time to 60 seconds</em>
<a name="53" href="#53">53</a>          session.getConfig().setIdleTime( IdleStatus.BOTH_IDLE, 60 );
<a name="54" href="#54">54</a>  
<a name="55" href="#55">55</a>          <em class="comment">// initial sum is zero</em>
<a name="56" href="#56">56</a>          session.setAttachment( <strong>new</strong> Integer( 0 ) );
<a name="57" href="#57">57</a>      }
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>      <strong>public</strong> <strong>void</strong> sessionClosed( ProtocolSession session )
<a name="60" href="#60">60</a>      {
<a name="61" href="#61">61</a>      }
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>      <strong>public</strong> <strong>void</strong> messageReceived( ProtocolSession session, Object message )
<a name="64" href="#64">64</a>      {
<a name="65" href="#65">65</a>          <em class="comment">// client only sends AddMessage. otherwise, we will have to identify</em>
<a name="66" href="#66">66</a>          <em class="comment">// its type using instanceof operator.</em>
<a name="67" href="#67">67</a>          <a href="../../../../../org/apache/mina/examples/sumup/message/AddMessage.html">AddMessage</a> am = ( AddMessage ) message;
<a name="68" href="#68">68</a>  
<a name="69" href="#69">69</a>          <em class="comment">// add the value to the current sum.</em>
<a name="70" href="#70">70</a>          <strong>int</strong> sum = ( ( Integer ) session.getAttachment() ).<strong>int</strong>Value();
<a name="71" href="#71">71</a>          <strong>int</strong> value = am.getValue();
<a name="72" href="#72">72</a>          <strong>long</strong> expectedSum = ( <strong>long</strong> ) sum + value;
<a name="73" href="#73">73</a>          <strong>if</strong>( expectedSum > Integer.MAX_VALUE || expectedSum &lt; Integer.MIN_VALUE )
<a name="74" href="#74">74</a>          {
<a name="75" href="#75">75</a>              <em class="comment">// if the sum overflows or underflows, return error message</em>
<a name="76" href="#76">76</a>              <a href="../../../../../org/apache/mina/examples/sumup/message/ResultMessage.html">ResultMessage</a> rm = <strong>new</strong> <a href="../../../../../org/apache/mina/examples/sumup/message/ResultMessage.html">ResultMessage</a>();
<a name="77" href="#77">77</a>              rm.setSequence( am.getSequence() ); <em class="comment">// copy sequence</em>
<a name="78" href="#78">78</a>              rm.setOk( false );
<a name="79" href="#79">79</a>              session.write( rm );
<a name="80" href="#80">80</a>          }
<a name="81" href="#81">81</a>          <strong>else</strong>
<a name="82" href="#82">82</a>          {
<a name="83" href="#83">83</a>              <em class="comment">// sum up</em>
<a name="84" href="#84">84</a>              sum = ( <strong>int</strong> ) expectedSum;
<a name="85" href="#85">85</a>              session.setAttachment( <strong>new</strong> Integer( sum ) );
<a name="86" href="#86">86</a>  
<a name="87" href="#87">87</a>              <em class="comment">// return the result message</em>
<a name="88" href="#88">88</a>              <a href="../../../../../org/apache/mina/examples/sumup/message/ResultMessage.html">ResultMessage</a> rm = <strong>new</strong> <a href="../../../../../org/apache/mina/examples/sumup/message/ResultMessage.html">ResultMessage</a>();
<a name="89" href="#89">89</a>              rm.setSequence( am.getSequence() ); <em class="comment">// copy sequence</em>
<a name="90" href="#90">90</a>              rm.setOk( <strong>true</strong> );
<a name="91" href="#91">91</a>              rm.setValue( sum );
<a name="92" href="#92">92</a>              session.write( rm );
<a name="93" href="#93">93</a>          }
<a name="94" href="#94">94</a>      }
<a name="95" href="#95">95</a>  
<a name="96" href="#96">96</a>      <strong>public</strong> <strong>void</strong> messageSent( ProtocolSession session, Object message )
<a name="97" href="#97">97</a>      {
<a name="98" href="#98">98</a>      }
<a name="99" href="#99">99</a>  
<a name="100" href="#100">100</a>     <strong>public</strong> <strong>void</strong> sessionIdle( ProtocolSession session, IdleStatus status )
<a name="101" href="#101">101</a>     {
<a name="102" href="#102">102</a>         SessionLog.log( Level.WARNING, session, <span class="string">"Disconnecting the idle."</span> );
<a name="103" href="#103">103</a>         <em class="comment">// disconnect an idle client</em>
<a name="104" href="#104">104</a>         session.close();
<a name="105" href="#105">105</a>     }
<a name="106" href="#106">106</a> 
<a name="107" href="#107">107</a>     <strong>public</strong> <strong>void</strong> exceptionCaught( ProtocolSession session, Throwable cause )
<a name="108" href="#108">108</a>     {
<a name="109" href="#109">109</a>         <em class="comment">// close the connection on exceptional situation</em>
<a name="110" href="#110">110</a>         session.close();
<a name="111" href="#111">111</a>     }
<a name="112" href="#112">112</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

