<!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>IoProtocolAcceptor xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/protocol/io/IoProtocolAcceptor.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: IoProtocolAcceptor.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>   <strong>package</strong> <a href="../../../../../org/apache/mina/protocol/io/package-summary.html">org.apache.mina.protocol.io</a>;
<a name="5" href="#5">5</a>   
<a name="6" href="#6">6</a>   <strong>import</strong> java.io.IOException;
<a name="7" href="#7">7</a>   <strong>import</strong> java.net.SocketAddress;
<a name="8" href="#8">8</a>   
<a name="9" href="#9">9</a>   <strong>import</strong> org.apache.mina.common.ExceptionMonitor;
<a name="10" href="#10">10</a>  <strong>import</strong> org.apache.mina.io.IoAcceptor;
<a name="11" href="#11">11</a>  <strong>import</strong> org.apache.mina.io.IoSession;
<a name="12" href="#12">12</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolAcceptor;
<a name="13" href="#13">13</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolFilterChain;
<a name="14" href="#14">14</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolProvider;
<a name="15" href="#15">15</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolSession;
<a name="16" href="#16">16</a>  
<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
<a name="18" href="#18">18</a>  <em> * A {@link ProtocolAcceptor} which wraps {@link IoAcceptor} to provide</em>
<a name="19" href="#19">19</a>  <em> * low-level I/O.</em>
<a name="20" href="#20">20</a>  <em> * &lt;p></em>
<a name="21" href="#21">21</a>  <em> * Please note that the user-defined attributes of {@link ProtocolSession}</em>
<a name="22" href="#22">22</a>  <em> * and its wrapping {@link IoSession} are shared.</em>
<a name="23" href="#23">23</a>  <em> * </em>
<a name="24" href="#24">24</a>  <em> * @author Trustin Lee (trustin@apache.org)</em>
<a name="25" href="#25">25</a>  <em> * @version $Rev: 210062 $, $Date: 2005-07-11 12:52:38 +0900 $</em>
<a name="26" href="#26">26</a>  <em> */</em>
<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/protocol/io/IoProtocolAcceptor.html">IoProtocolAcceptor</a> implements <a href="../../../../../org/apache/mina/protocol/ProtocolAcceptor.html">ProtocolAcceptor</a>
<a name="28" href="#28">28</a>  {
<a name="29" href="#29">29</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/mina/io/IoAcceptor.html">IoAcceptor</a> acceptor;
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>      <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/mina/protocol/io/IoAdapter.html">IoAdapter</a> adapter = <strong>new</strong> <a href="../../../../../org/apache/mina/protocol/io/IoAdapter.html">IoAdapter</a>( <strong>new</strong> IoProtocolSessionManagerFilterChain( <strong>this</strong> ) );
<a name="32" href="#32">32</a>  
<a name="33" href="#33">33</a>      <em>/**<em>*</em></em>
<a name="34" href="#34">34</a>  <em>     * Creates a new instance with the specified {@link IoAcceptor}.</em>
<a name="35" href="#35">35</a>  <em>     */</em>
<a name="36" href="#36">36</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/protocol/io/IoProtocolAcceptor.html">IoProtocolAcceptor</a>( IoAcceptor acceptor )
<a name="37" href="#37">37</a>      {
<a name="38" href="#38">38</a>          <strong>if</strong>( acceptor == <strong>null</strong> )
<a name="39" href="#39">39</a>              <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"acceptor"</span> );
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>          <strong>this</strong>.acceptor = acceptor;
<a name="42" href="#42">42</a>      }
<a name="43" href="#43">43</a>  
<a name="44" href="#44">44</a>      <em>/**<em>*</em></em>
<a name="45" href="#45">45</a>  <em>     * Returns the underlying {@link IoAcceptor} instance this acceptor is</em>
<a name="46" href="#46">46</a>  <em>     * wrapping.</em>
<a name="47" href="#47">47</a>  <em>     */</em>
<a name="48" href="#48">48</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/io/IoAcceptor.html">IoAcceptor</a> getIoAcceptor()
<a name="49" href="#49">49</a>      {
<a name="50" href="#50">50</a>          <strong>return</strong> acceptor;
<a name="51" href="#51">51</a>      }
<a name="52" href="#52">52</a>  
<a name="53" href="#53">53</a>      <strong>public</strong> <strong>void</strong> bind( SocketAddress address, ProtocolProvider provider )
<a name="54" href="#54">54</a>              throws IOException
<a name="55" href="#55">55</a>      {
<a name="56" href="#56">56</a>          acceptor.bind( address, adapter.adapt( provider ) );
<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> unbind( SocketAddress address )
<a name="60" href="#60">60</a>      {
<a name="61" href="#61">61</a>          acceptor.unbind( address );
<a name="62" href="#62">62</a>      }
<a name="63" href="#63">63</a>      
<a name="64" href="#64">64</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/protocol/ProtocolFilterChain.html">ProtocolFilterChain</a> getFilterChain()
<a name="65" href="#65">65</a>      {
<a name="66" href="#66">66</a>          <strong>return</strong> adapter.getFilterChain();
<a name="67" href="#67">67</a>      }
<a name="68" href="#68">68</a>      
<a name="69" href="#69">69</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/common/ExceptionMonitor.html">ExceptionMonitor</a> getExceptionMonitor()
<a name="70" href="#70">70</a>      {
<a name="71" href="#71">71</a>          <strong>return</strong> acceptor.getExceptionMonitor();
<a name="72" href="#72">72</a>      }
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>      <strong>public</strong> <strong>void</strong> setExceptionMonitor( ExceptionMonitor monitor )
<a name="75" href="#75">75</a>      {
<a name="76" href="#76">76</a>          acceptor.setExceptionMonitor( monitor );
<a name="77" href="#77">77</a>      }
<a name="78" href="#78">78</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

