<!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>SessionUtil xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/mina/util/SessionUtil.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: SessionUtil.java 210062 2005-07-11 03:52:38Z 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/util/package-summary.html">org.apache.mina.util</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.net.SocketException;
<a name="22" href="#22">22</a>  
<a name="23" href="#23">23</a>  <strong>import</strong> org.apache.mina.common.Session;
<a name="24" href="#24">24</a>  <strong>import</strong> org.apache.mina.common.SessionConfig;
<a name="25" href="#25">25</a>  <strong>import</strong> org.apache.mina.io.datagram.DatagramSessionConfig;
<a name="26" href="#26">26</a>  <strong>import</strong> org.apache.mina.io.socket.SocketSessionConfig;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <em>/**<em>*</em></em>
<a name="29" href="#29">29</a>  <em> * Exception utility.</em>
<a name="30" href="#30">30</a>  <em> * </em>
<a name="31" href="#31">31</a>  <em> * @author The Apache Directory Project (dev@directory.apache.org)</em>
<a name="32" href="#32">32</a>  <em> * @author Trustin Lee (trustin@apache.org)</em>
<a name="33" href="#33">33</a>  <em> * @version $Rev: 210062 $, $Date: 2005-07-11 12:52:38 +0900 $</em>
<a name="34" href="#34">34</a>  <em> */</em>
<a name="35" href="#35">35</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/mina/util/SessionUtil.html">SessionUtil</a>
<a name="36" href="#36">36</a>  {
<a name="37" href="#37">37</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> initialize( Session session ) throws SocketException
<a name="38" href="#38">38</a>      {
<a name="39" href="#39">39</a>          <a href="../../../../org/apache/mina/common/SessionConfig.html">SessionConfig</a> config = session.getConfig();
<a name="40" href="#40">40</a>          <strong>if</strong>( config instanceof SocketSessionConfig )
<a name="41" href="#41">41</a>          {
<a name="42" href="#42">42</a>              <a href="../../../../org/apache/mina/io/socket/SocketSessionConfig.html">SocketSessionConfig</a> ssc = ( SocketSessionConfig ) config;
<a name="43" href="#43">43</a>              ssc.setReuseAddress( <strong>true</strong> );
<a name="44" href="#44">44</a>              ssc.setKeepAlive( <strong>true</strong> );
<a name="45" href="#45">45</a>          }
<a name="46" href="#46">46</a>          <strong>else</strong> <strong>if</strong>( config instanceof DatagramSessionConfig )
<a name="47" href="#47">47</a>          {
<a name="48" href="#48">48</a>              <a href="../../../../org/apache/mina/io/datagram/DatagramSessionConfig.html">DatagramSessionConfig</a> dsc = ( DatagramSessionConfig ) config;
<a name="49" href="#49">49</a>              dsc.setReuseAddress( <strong>true</strong> );
<a name="50" href="#50">50</a>          }
<a name="51" href="#51">51</a>      }
<a name="52" href="#52">52</a>  
<a name="53" href="#53">53</a>      <strong>private</strong> <a href="../../../../org/apache/mina/util/SessionUtil.html">SessionUtil</a>()
<a name="54" href="#54">54</a>      {
<a name="55" href="#55">55</a>      }
<a name="56" href="#56">56</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

