You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by bu...@apache.org on 2019/03/27 05:52:01 UTC

svn commit: r1042588 - in /websites/staging/mina/trunk/content: ./ mina-project/userguide/ch3-service/

Author: buildbot
Date: Wed Mar 27 05:52:01 2019
New Revision: 1042588

Log:
Staging update by buildbot for mina

Added:
    websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.1-io-service.html
    websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.2-io-service-details.html
    websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.3-acceptor.html
    websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.4-connector.html
Removed:
    websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/acceptor.html
    websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/connector.html
    websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/io-service-details.html
    websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/io-service.html
Modified:
    websites/staging/mina/trunk/content/   (props changed)

Propchange: websites/staging/mina/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Mar 27 05:52:01 2019
@@ -1 +1 @@
-1856368
+1856369

Added: websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.1-io-service.html
==============================================================================
--- websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.1-io-service.html (added)
+++ websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.1-io-service.html Wed Mar 27 05:52:01 2019
@@ -0,0 +1,318 @@
+<!DOCTYPE html>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+<head>
+	<title>3.1 - IO Service Introduction &mdash; Apache MINA</title>
+	
+		<link href="./../../../css/common.css" rel="stylesheet" type="text/css">
+		<link href="./../../../css/mina.css" rel="stylesheet" type="text/css">
+	
+  
+  <link rel="shortcut icon" href="./../../../staticresources/images/mina-icon_16x16.png"/>
+	
+</head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="subProjectsNavBar">
+          <a href="./../../../">
+            
+              Apache MINA Project
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../mina-project/index.html">
+            
+              <strong>MINA</strong>
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../asyncweb-project/index.html">
+            
+              AsyncWeb
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../ftpserver-project/index.html">
+            
+              FtpServer
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../sshd-project/index.html">
+            
+              SSHD
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../vysper-project/index.html">
+            
+              Vysper
+            
+          </a>
+        </div><!-- subProjectsNavBar -->
+      </div><!-- header -->
+      <div id="content">
+        <div id="leftColumn">
+                              
+          
+          
+          
+          
+            <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<div id="navigation">
+
+    <h5>Latest Downloads</h5>
+    <ul>
+        <li><a href="./../../../mina-project/downloads_2_0.html">Mina 2.0.20</a></li>
+        <li><a href="./../../../mina-project/downloads_2_1.html">Mina 2.1.0</a></li>
+        <li><a href="./../../../mina-project/downloads_old.html">Mina old versions</a></li>
+    </ul>
+    <h5>Documentation</h5>
+    <ul>
+      <li><a href="./../../../mina-project/documentation.html" class="external-link" rel="nofollow">Base documentation</a></li>
+      <li><a href="./../../../mina-project/userguide/user-guide-toc.html" class="external-link" rel="nofollow">User guide</a></li>
+      <li><a href="./../../../mina-project/2.1-vs-2.0.html" class="external-link" rel="nofollow">2.1 vs 2.0</a></li>
+      <li><a href="./../../../mina-project/features.html" class="external-link" rel="nofollow">Features</a></li>
+      <li><a href="./../../../mina-project/road-map.html" class="external-link" rel="nofollow">Road Map</a></li>
+      <li><a href="./../../../mina-project/quick-start-guide.html" class="external-link" rel="nofollow">Quick Start Guide</a></li>
+      <li><a href="./../../../mina-project/faq.html" class="external-link" rel="nofollow">FAQ</a></li>
+    </ul>
+    <h5>Resources</h5>
+    <ul>
+      <li><a href="./../../../mina-project/mailing-lists.html" class="external-link" rel="nofollow">Mailing lists &amp; IRC</a></li>
+      <li><a href="./../../../mina-project/issue-tracking.html" class="external-link" rel="nofollow">Issue tracking</a></li>
+      <li><a href="./../../../mina-project/sources.html" class="external-link" rel="nofollow">Sources</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.0/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc 2.0.20</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.1/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc 2.1.0</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.0/xref/index.html" class="external-link" rel="nofollow">API xref  2.0.20</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.1/xref/index.html" class="external-link" rel="nofollow">API xref 2.1.0</a></li>
+      <li><a href="./../../../mina-project/performances.html" class="external-link" rel="nofollow">Performances</a></li>
+      <li><a href="./../../../mina-project/testimonials.html" class="external-link" rel="nofollow">Testimonials</a></li>
+      <li><a href="./../../../mina-project/conferences.html" class="external-link" rel="nofollow">Conferences</a></li>
+      <li><a href="./../../../mina-project/developer-guide.html" class="external-link" rel="nofollow">Developers Guide</a></li>
+      <li><a href="./../../../mina-project/related-projects.html" class="external-link" rel="nofollow">Related Projects</a></li>
+      <li><a href="https://people.apache.org/~vgritsenko/stats/projects/mina.html" class="external-link" rel="nofollow">Statistics</a></li>
+    </ul>
+
+
+    <h5>Community</h5>
+    <ul>
+      <li><a href="https://www.apache.org/foundation/contributing.html" class="external-link" rel="nofollow">Contributing</a></li>
+      <li><a href="./../../../contributors.html" class="external-link" rel="nofollow">Team</a></li>
+      <li><a href="./../../../special-thanks.html" class="external-link" rel="nofollow">Special Thanks</a></li>
+      <li><a href="https://www.apache.org/security/" class="external-link" rel="nofollow">Security</a></li>
+    </ul>
+
+
+    <h5>About Apache</h5>
+    <ul>
+      <li><a href="https://www.apache.org" class="external-link" rel="nofollow">Apache main site</a></li>
+      <li><a href="https://www.apache.org/licenses/" class="external-link" rel="nofollow">License</a></li>
+      <li><a href="https://www.apache.org/foundation/sponsorship.html" title="The ASF sponsorship program" class="external-link" rel="nofollow">Sponsorship program</a></li>
+      <li><a href="https://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</a></li>
+    </ul>
+
+
+    <h3><a name="Navigation-Upcoming"></a>Upcoming</h3>
+    <ul>
+      <li>No event</li>
+    </ul>
+
+</div>
+
+<!-- navigation -->
+          
+          
+        </div><!-- leftColumn -->
+      <div id="rightColumn">
+
+
+
+    <div class="nav">
+        <div class="nav_prev">
+        
+			&nbsp;
+        
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch3-service.html">Chapter 3 - Service</a>
+		
+        </div>
+        <div class="nav_next">
+        
+            <a href="ch3.2-io-service-details.html">3.2 - IoService Details</a>
+		
+        </div>
+        <div class="clearfix"></div>
+    </div>
+
+
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="31-ioservice-introduction">3.1 - IoService Introduction<a class="headerlink" href="#31-ioservice-introduction" title="Permanent link">&para;</a></h1>
+<p><a href="http://mina.apache.org/mina-project/xref/org/apache/mina/core/service/IoService.html">IoService</a> provides basic <strong>I/O</strong> Service and manages <strong>I/O</strong> Sessions within <strong>MINA</strong>. Its one of the most crucial part of <strong>MINA</strong> Architecture. The implementing classes of <em>IoService</em> and child interface, are where most of the low level <strong>I/O</strong> operations are handled.</p>
+<h1 id="ioservice-mind-map">IoService Mind Map<a class="headerlink" href="#ioservice-mind-map" title="Permanent link">&para;</a></h1>
+<p>Let's try to see what are the responsibilities of the <em>IoService</em> and it implementing class <a href="http://mina.apache.org/mina-project/xref/org/apache/mina/core/service/AbstractIoService.html">AbstractIoService</a>. Let's take a slightly different approach of first using a <a href="http://en.wikipedia.org/wiki/Mind_map">Mind Map</a> and then jump into the inner working. The Mind Map was created using <a href="http://www.xmind.net/">XMind</a>.</p>
+<p><img alt="" src="../../../staticresources/images/mina/IoService_mindmap.png" /></p>
+<h2 id="responsabilities">Responsabilities<a class="headerlink" href="#responsabilities" title="Permanent link">&para;</a></h2>
+<p>As seen in the previous graphic, The <em>IoService</em> has many responsabilities :</p>
+<ul>
+<li>sessions management : Creates and deletes sessions, detect idleness.</li>
+<li>filter chain management : Handles the filtr chain, allowing the user to change the chain on the fly</li>
+<li>handler invocation : Calls the handler when some new message is received, etc </li>
+<li>statistics management : Updates the number of messages sent, bytes sent, and many others</li>
+<li>listeners management : Manages the Listeners a suer can set up</li>
+<li>communication management : Handles the transmission of data, in both side</li>
+</ul>
+<p>All those aspects will be described in the following chapters.</p>
+<h2 id="interface-details">Interface Details<a class="headerlink" href="#interface-details" title="Permanent link">&para;</a></h2>
+<p><em>IoService</em> is the base interface for all the <em>IoConnector</em>'s and <em>IoAcceptor</em>'s that provides <strong>I/O</strong> services and manages <strong>I/O</strong> sessions. The interface has all the functions need to perform <strong>I/O</strong> related operations.</p>
+<p>Lets take a deep dive into the various methods in the interface</p>
+<ul>
+<li>getTransportMetadata()</li>
+<li>addListener()</li>
+<li>removeListener()</li>
+<li>isDisposing()</li>
+<li>isDisposed()</li>
+<li>dispose()</li>
+<li>getHandler()</li>
+<li>setHandler()</li>
+<li>getManagedSessions()</li>
+<li>getManagedSessionCount()</li>
+<li>getSessionConfig()</li>
+<li>getFilterChainBuilder()</li>
+<li>setFilterChainBuilder()</li>
+<li>getFilterChain()</li>
+<li>isActive()</li>
+<li>getActivationTime()</li>
+<li>broadcast()</li>
+<li>setSessionDataStructureFactory()</li>
+<li>getScheduledWriteBytes()</li>
+<li>getScheduledWriteMessages()</li>
+<li>getStatistics()</li>
+</ul>
+<h3 id="gettransportmetadata">getTransportMetadata()<a class="headerlink" href="#gettransportmetadata" title="Permanent link">&para;</a></h3>
+<p>This method returns the Transport meta-data the <em>IoAcceptor</em> or <em>IoConnector</em> is running. The typical details include provider name (nio, apr, rxtx), connection type (connectionless/connection oriented) etc.</p>
+<h3 id="addlistener">addListener<a class="headerlink" href="#addlistener" title="Permanent link">&para;</a></h3>
+<p>Allows to add a <em>IoServiceListener</em> to listen to specific events related to <em>IoService</em>.</p>
+<h3 id="removelistener">removeListener<a class="headerlink" href="#removelistener" title="Permanent link">&para;</a></h3>
+<p>Removes specified <em>IoServiceListener</em> attached to this <em>IoService</em>.</p>
+<h3 id="isdisposing">isDisposing<a class="headerlink" href="#isdisposing" title="Permanent link">&para;</a></h3>
+<p>This method tells if the service is currently being disposed. As it can take a while, it's useful to know the current status of the service.</p>
+<h3 id="isdisposed">isDisposed<a class="headerlink" href="#isdisposed" title="Permanent link">&para;</a></h3>
+<p>This method tells if the service has been disposed. A service will be considered as disposed only when all the resources it has allocated have been released.</p>
+<h3 id="dispose">dispose<a class="headerlink" href="#dispose" title="Permanent link">&para;</a></h3>
+<p>This method releases all the resources the service has allocated. As it may take a while, the user should check the service status using the <em>isDisposing()</em> and <em>isDisposed()</em> to know if the service is now disposed completely.</p>
+<p>Always call <em>dispose()</em> when you shutdown a service !</p>
+<h3 id="gethandler">getHandler<a class="headerlink" href="#gethandler" title="Permanent link">&para;</a></h3>
+<p>Returns the <em>IoHandler</em> associated with the service.</p>
+<h3 id="sethandler">setHandler<a class="headerlink" href="#sethandler" title="Permanent link">&para;</a></h3>
+<p>Sets the <em>IoHandler</em> that will be responsible for handling all the events for the service. The handler contains your application logic !</p>
+<h3 id="getmanagedsessions">getManagedSessions<a class="headerlink" href="#getmanagedsessions" title="Permanent link">&para;</a></h3>
+<p>Returns the map of all sessions which are currently managed by this service. A managed session is a session which is added to the service listener. It will be used to process the idle sessions, and other session aspects, depending on the kind of listeners a user adds to a service.</p>
+<h3 id="getmanagedsessioncount">getManagedSessionCount<a class="headerlink" href="#getmanagedsessioncount" title="Permanent link">&para;</a></h3>
+<p>Returns the number of all sessions which are currently managed by this service.</p>
+<h3 id="getsessionconfig">getSessionConfig<a class="headerlink" href="#getsessionconfig" title="Permanent link">&para;</a></h3>
+<p>Returns the session configuration.</p>
+<h3 id="getfilterchainbuilder">getFilterChainBuilder<a class="headerlink" href="#getfilterchainbuilder" title="Permanent link">&para;</a></h3>
+<p>Returns the <em>Filter</em> chain builder. This is useful if one wants to add some new filter that will be injected when the sessions will be created.</p>
+<h3 id="setfilterchainbuilder">setFilterChainBuilder<a class="headerlink" href="#setfilterchainbuilder" title="Permanent link">&para;</a></h3>
+<p>Defines the <em>Filter</em> chain builder to use with the service.</p>
+<h3 id="getfilterchain">getFilterChain<a class="headerlink" href="#getfilterchain" title="Permanent link">&para;</a></h3>
+<p>Returns the current default <em>Filter</em> chain for the service.</p>
+<h3 id="isactive">isActive<a class="headerlink" href="#isactive" title="Permanent link">&para;</a></h3>
+<p>Tells if the service is active or not.</p>
+<h3 id="getactivationtime">getActivationTime<a class="headerlink" href="#getactivationtime" title="Permanent link">&para;</a></h3>
+<p>Returns the time when this service was activated. It returns the last time when this service was activated if the service is not anymore active.</p>
+<h3 id="broadcast">broadcast<a class="headerlink" href="#broadcast" title="Permanent link">&para;</a></h3>
+<p>Writes the given message to all the managed sessions.</p>
+<h3 id="setsessiondatastructurefactory">setSessionDataStructureFactory<a class="headerlink" href="#setsessiondatastructurefactory" title="Permanent link">&para;</a></h3>
+<p>Sets the <em>IoSessionDataStructureFactory</em> that provides related data structures for a new session created by this service.</p>
+<h3 id="getscheduledwritebytes">getScheduledWriteBytes<a class="headerlink" href="#getscheduledwritebytes" title="Permanent link">&para;</a></h3>
+<p>Returns the number of bytes scheduled to be written (ie, the bytes stored in memory waiting for the socket to be ready for write).</p>
+<h3 id="getscheduledwritemessages">getScheduledWriteMessages<a class="headerlink" href="#getscheduledwritemessages" title="Permanent link">&para;</a></h3>
+<p>Returns the number of messages scheduled to be written (ie, the messages stored in memory waiting for the socket to be ready for write).</p>
+<h3 id="getstatistics">getStatistics<a class="headerlink" href="#getstatistics" title="Permanent link">&para;</a></h3>
+<p>Returns the <em>IoServiceStatistics</em> object for this service.</p>
+
+
+    <div class="nav">
+        <div class="nav_prev">
+        
+			&nbsp;
+        
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch3-service.html">Chapter 3 - Service</a>
+		
+        </div>
+        <div class="nav_next">
+        
+            <a href="ch3.2-io-service-details.html">3.2 - IoService Details</a>
+		
+        </div>
+        <div class="clearfix"></div>
+    </div>
+
+
+                </div><!-- rightColumn -->
+                <div id="endContent"></div>
+            </div><!-- content -->
+            <div id="footer">&copy; 2003-2019, <a href="https://www.apache.org">The Apache Software Foundation</a> - <a href="./../../../privacy-policy.html">Privacy Policy</a><br />
+                Apache MINA, MINA, Apache Vysper, Vysper, Apache SSHd, SSHd, Apache FtpServer, FtpServer, Apache AsyncWeb, AsyncWeb,
+                Apache, the Apache feather logo, and the Apache Mina project logos are trademarks of The Apache Software Foundation.
+            </div>
+        </div><!-- container -->
+		<script type="text/javascript">
+
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-11074178-1']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+
+		</script>
+    </body>
+</html>
+

Added: websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.2-io-service-details.html
==============================================================================
--- websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.2-io-service-details.html (added)
+++ websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.2-io-service-details.html Wed Mar 27 05:52:01 2019
@@ -0,0 +1,267 @@
+<!DOCTYPE html>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+<head>
+	<title>3.2 - IoService Details &mdash; Apache MINA</title>
+	
+		<link href="./../../../css/common.css" rel="stylesheet" type="text/css">
+		<link href="./../../../css/mina.css" rel="stylesheet" type="text/css">
+	
+  
+  <link rel="shortcut icon" href="./../../../staticresources/images/mina-icon_16x16.png"/>
+	
+</head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="subProjectsNavBar">
+          <a href="./../../../">
+            
+              Apache MINA Project
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../mina-project/index.html">
+            
+              <strong>MINA</strong>
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../asyncweb-project/index.html">
+            
+              AsyncWeb
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../ftpserver-project/index.html">
+            
+              FtpServer
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../sshd-project/index.html">
+            
+              SSHD
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../vysper-project/index.html">
+            
+              Vysper
+            
+          </a>
+        </div><!-- subProjectsNavBar -->
+      </div><!-- header -->
+      <div id="content">
+        <div id="leftColumn">
+                              
+          
+          
+          
+          
+            <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<div id="navigation">
+
+    <h5>Latest Downloads</h5>
+    <ul>
+        <li><a href="./../../../mina-project/downloads_2_0.html">Mina 2.0.20</a></li>
+        <li><a href="./../../../mina-project/downloads_2_1.html">Mina 2.1.0</a></li>
+        <li><a href="./../../../mina-project/downloads_old.html">Mina old versions</a></li>
+    </ul>
+    <h5>Documentation</h5>
+    <ul>
+      <li><a href="./../../../mina-project/documentation.html" class="external-link" rel="nofollow">Base documentation</a></li>
+      <li><a href="./../../../mina-project/userguide/user-guide-toc.html" class="external-link" rel="nofollow">User guide</a></li>
+      <li><a href="./../../../mina-project/2.1-vs-2.0.html" class="external-link" rel="nofollow">2.1 vs 2.0</a></li>
+      <li><a href="./../../../mina-project/features.html" class="external-link" rel="nofollow">Features</a></li>
+      <li><a href="./../../../mina-project/road-map.html" class="external-link" rel="nofollow">Road Map</a></li>
+      <li><a href="./../../../mina-project/quick-start-guide.html" class="external-link" rel="nofollow">Quick Start Guide</a></li>
+      <li><a href="./../../../mina-project/faq.html" class="external-link" rel="nofollow">FAQ</a></li>
+    </ul>
+    <h5>Resources</h5>
+    <ul>
+      <li><a href="./../../../mina-project/mailing-lists.html" class="external-link" rel="nofollow">Mailing lists &amp; IRC</a></li>
+      <li><a href="./../../../mina-project/issue-tracking.html" class="external-link" rel="nofollow">Issue tracking</a></li>
+      <li><a href="./../../../mina-project/sources.html" class="external-link" rel="nofollow">Sources</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.0/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc 2.0.20</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.1/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc 2.1.0</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.0/xref/index.html" class="external-link" rel="nofollow">API xref  2.0.20</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.1/xref/index.html" class="external-link" rel="nofollow">API xref 2.1.0</a></li>
+      <li><a href="./../../../mina-project/performances.html" class="external-link" rel="nofollow">Performances</a></li>
+      <li><a href="./../../../mina-project/testimonials.html" class="external-link" rel="nofollow">Testimonials</a></li>
+      <li><a href="./../../../mina-project/conferences.html" class="external-link" rel="nofollow">Conferences</a></li>
+      <li><a href="./../../../mina-project/developer-guide.html" class="external-link" rel="nofollow">Developers Guide</a></li>
+      <li><a href="./../../../mina-project/related-projects.html" class="external-link" rel="nofollow">Related Projects</a></li>
+      <li><a href="https://people.apache.org/~vgritsenko/stats/projects/mina.html" class="external-link" rel="nofollow">Statistics</a></li>
+    </ul>
+
+
+    <h5>Community</h5>
+    <ul>
+      <li><a href="https://www.apache.org/foundation/contributing.html" class="external-link" rel="nofollow">Contributing</a></li>
+      <li><a href="./../../../contributors.html" class="external-link" rel="nofollow">Team</a></li>
+      <li><a href="./../../../special-thanks.html" class="external-link" rel="nofollow">Special Thanks</a></li>
+      <li><a href="https://www.apache.org/security/" class="external-link" rel="nofollow">Security</a></li>
+    </ul>
+
+
+    <h5>About Apache</h5>
+    <ul>
+      <li><a href="https://www.apache.org" class="external-link" rel="nofollow">Apache main site</a></li>
+      <li><a href="https://www.apache.org/licenses/" class="external-link" rel="nofollow">License</a></li>
+      <li><a href="https://www.apache.org/foundation/sponsorship.html" title="The ASF sponsorship program" class="external-link" rel="nofollow">Sponsorship program</a></li>
+      <li><a href="https://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</a></li>
+    </ul>
+
+
+    <h3><a name="Navigation-Upcoming"></a>Upcoming</h3>
+    <ul>
+      <li>No event</li>
+    </ul>
+
+</div>
+
+<!-- navigation -->
+          
+          
+        </div><!-- leftColumn -->
+      <div id="rightColumn">
+
+
+
+    <div class="nav">
+        <div class="nav_prev">
+        
+            <a href="ch3.1-io-service.html">3.1 - IoService Introduction</a>
+		
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch3-service.html">Chapter 3 - Service</a>
+		
+        </div>
+        <div class="nav_next">
+        
+            <a href="ch3.3-acceptor.html">3.3 - Acceptor</a>
+		
+        </div>
+        <div class="clearfix"></div>
+    </div>
+
+
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="32-ioservice-details">3.2 - IoService Details<a class="headerlink" href="#32-ioservice-details" title="Permanent link">&para;</a></h1>
+<p><em>IoService</em> is an interface that is implemented by the two most important classes in <strong>MINA</strong> :</p>
+<ul>
+<li>IoAcceptor</li>
+<li>IoConnector</li>
+</ul>
+<p>In order to build a server, you need to select an implementation of the <em>IoAcceptor</em> interface. For client applications, you need to implement an implementation of the <em>IoConnector</em> interface.</p>
+<h2 id="ioacceptor">IoAcceptor<a class="headerlink" href="#ioacceptor" title="Permanent link">&para;</a></h2>
+<p>Basically, this interface is named because of the <em>accept()</em> method, responsible for the creation of new connections between a client and the server. The server accepts incoming connection requests.</p>
+<p>At some point, we could have named this interface 'Server' (and this is the new name in the coming <strong>MINA 3.0</strong>).</p>
+<p>As we may deal with more than one kind of transport (TCP/UDP/...), we have more than one implementation for this interface. It would be very unlikely that you need to implement a new one.</p>
+<p>We have many of those implementing classes</p>
+<ul>
+<li><strong>NioSocketAcceptor</strong> : the non-blocking Socket transport <em>IoAcceptor</em></li>
+<li><strong>NioDatagramAcceptor</strong> : the non-blocking UDP transport <em>IoAcceptor</em></li>
+<li><strong>AprSocketAcceptor</strong> : the blocking Socket transport <em>IoAcceptor</em>, based on APR</li>
+<li><strong>VmPipeSocketAcceptor</strong> : the in-VM <em>IoAcceptor</em></li>
+</ul>
+<p>Just pick the one that fit your need.</p>
+<p>Here is the class diagram for the <em>IoAcceptor</em> interfaces and classes :</p>
+<p><img alt="" src="../../../staticresources/images/mina/IoServiceAcceptor.png" /></p>
+<h2 id="ioconnector">IoConnector<a class="headerlink" href="#ioconnector" title="Permanent link">&para;</a></h2>
+<p>As we have to use an <em>IoAcceptor</em> for servers, you have to implement the <em>IoConnector</em> for clients. Again, we have many implementation classes :</p>
+<ul>
+<li><strong>NioSocketConnector</strong> : the non-blocking Socket transport <em>IoConnector</em></li>
+<li><strong>NioDatagramConnector</strong> : the non-blocking UDP transport <em>IoConnector</em></li>
+<li><strong>AprSocketConnector</strong> : the blocking Socket transport <em>IoConnector</em>, based on APR</li>
+<li><strong>ProxyConnector</strong> : a <em>IoConnector</em> providing proxy support</li>
+<li><strong>SerialConnector</strong> : a <em>IoConnector</em> for a serial transport</li>
+<li><strong>VmPipeConnector</strong> : the in-VM <em>IoConnector</em></li>
+</ul>
+<p>Just pick the one that fit your need.</p>
+<p>Here is the class diagram for the <em>IoConnector</em> interfaces and classes :</p>
+<p><img alt="" src="../../../staticresources/images/mina/IoServiceConnector.png" /></p>
+
+
+    <div class="nav">
+        <div class="nav_prev">
+        
+            <a href="ch3.1-io-service.html">3.1 - IoService Introduction</a>
+		
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch3-service.html">Chapter 3 - Service</a>
+		
+        </div>
+        <div class="nav_next">
+        
+            <a href="ch3.3-acceptor.html">3.3 - Acceptor</a>
+		
+        </div>
+        <div class="clearfix"></div>
+    </div>
+
+
+                </div><!-- rightColumn -->
+                <div id="endContent"></div>
+            </div><!-- content -->
+            <div id="footer">&copy; 2003-2019, <a href="https://www.apache.org">The Apache Software Foundation</a> - <a href="./../../../privacy-policy.html">Privacy Policy</a><br />
+                Apache MINA, MINA, Apache Vysper, Vysper, Apache SSHd, SSHd, Apache FtpServer, FtpServer, Apache AsyncWeb, AsyncWeb,
+                Apache, the Apache feather logo, and the Apache Mina project logos are trademarks of The Apache Software Foundation.
+            </div>
+        </div><!-- container -->
+		<script type="text/javascript">
+
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-11074178-1']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+
+		</script>
+    </body>
+</html>
+

Added: websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.3-acceptor.html
==============================================================================
--- websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.3-acceptor.html (added)
+++ websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.3-acceptor.html Wed Mar 27 05:52:01 2019
@@ -0,0 +1,315 @@
+<!DOCTYPE html>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+<head>
+	<title>3.3 - Acceptor &mdash; Apache MINA</title>
+	
+		<link href="./../../../css/common.css" rel="stylesheet" type="text/css">
+		<link href="./../../../css/mina.css" rel="stylesheet" type="text/css">
+	
+  
+  <link rel="shortcut icon" href="./../../../staticresources/images/mina-icon_16x16.png"/>
+	
+</head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="subProjectsNavBar">
+          <a href="./../../../">
+            
+              Apache MINA Project
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../mina-project/index.html">
+            
+              <strong>MINA</strong>
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../asyncweb-project/index.html">
+            
+              AsyncWeb
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../ftpserver-project/index.html">
+            
+              FtpServer
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../sshd-project/index.html">
+            
+              SSHD
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../vysper-project/index.html">
+            
+              Vysper
+            
+          </a>
+        </div><!-- subProjectsNavBar -->
+      </div><!-- header -->
+      <div id="content">
+        <div id="leftColumn">
+                              
+          
+          
+          
+          
+            <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<div id="navigation">
+
+    <h5>Latest Downloads</h5>
+    <ul>
+        <li><a href="./../../../mina-project/downloads_2_0.html">Mina 2.0.20</a></li>
+        <li><a href="./../../../mina-project/downloads_2_1.html">Mina 2.1.0</a></li>
+        <li><a href="./../../../mina-project/downloads_old.html">Mina old versions</a></li>
+    </ul>
+    <h5>Documentation</h5>
+    <ul>
+      <li><a href="./../../../mina-project/documentation.html" class="external-link" rel="nofollow">Base documentation</a></li>
+      <li><a href="./../../../mina-project/userguide/user-guide-toc.html" class="external-link" rel="nofollow">User guide</a></li>
+      <li><a href="./../../../mina-project/2.1-vs-2.0.html" class="external-link" rel="nofollow">2.1 vs 2.0</a></li>
+      <li><a href="./../../../mina-project/features.html" class="external-link" rel="nofollow">Features</a></li>
+      <li><a href="./../../../mina-project/road-map.html" class="external-link" rel="nofollow">Road Map</a></li>
+      <li><a href="./../../../mina-project/quick-start-guide.html" class="external-link" rel="nofollow">Quick Start Guide</a></li>
+      <li><a href="./../../../mina-project/faq.html" class="external-link" rel="nofollow">FAQ</a></li>
+    </ul>
+    <h5>Resources</h5>
+    <ul>
+      <li><a href="./../../../mina-project/mailing-lists.html" class="external-link" rel="nofollow">Mailing lists &amp; IRC</a></li>
+      <li><a href="./../../../mina-project/issue-tracking.html" class="external-link" rel="nofollow">Issue tracking</a></li>
+      <li><a href="./../../../mina-project/sources.html" class="external-link" rel="nofollow">Sources</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.0/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc 2.0.20</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.1/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc 2.1.0</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.0/xref/index.html" class="external-link" rel="nofollow">API xref  2.0.20</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.1/xref/index.html" class="external-link" rel="nofollow">API xref 2.1.0</a></li>
+      <li><a href="./../../../mina-project/performances.html" class="external-link" rel="nofollow">Performances</a></li>
+      <li><a href="./../../../mina-project/testimonials.html" class="external-link" rel="nofollow">Testimonials</a></li>
+      <li><a href="./../../../mina-project/conferences.html" class="external-link" rel="nofollow">Conferences</a></li>
+      <li><a href="./../../../mina-project/developer-guide.html" class="external-link" rel="nofollow">Developers Guide</a></li>
+      <li><a href="./../../../mina-project/related-projects.html" class="external-link" rel="nofollow">Related Projects</a></li>
+      <li><a href="https://people.apache.org/~vgritsenko/stats/projects/mina.html" class="external-link" rel="nofollow">Statistics</a></li>
+    </ul>
+
+
+    <h5>Community</h5>
+    <ul>
+      <li><a href="https://www.apache.org/foundation/contributing.html" class="external-link" rel="nofollow">Contributing</a></li>
+      <li><a href="./../../../contributors.html" class="external-link" rel="nofollow">Team</a></li>
+      <li><a href="./../../../special-thanks.html" class="external-link" rel="nofollow">Special Thanks</a></li>
+      <li><a href="https://www.apache.org/security/" class="external-link" rel="nofollow">Security</a></li>
+    </ul>
+
+
+    <h5>About Apache</h5>
+    <ul>
+      <li><a href="https://www.apache.org" class="external-link" rel="nofollow">Apache main site</a></li>
+      <li><a href="https://www.apache.org/licenses/" class="external-link" rel="nofollow">License</a></li>
+      <li><a href="https://www.apache.org/foundation/sponsorship.html" title="The ASF sponsorship program" class="external-link" rel="nofollow">Sponsorship program</a></li>
+      <li><a href="https://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</a></li>
+    </ul>
+
+
+    <h3><a name="Navigation-Upcoming"></a>Upcoming</h3>
+    <ul>
+      <li>No event</li>
+    </ul>
+
+</div>
+
+<!-- navigation -->
+          
+          
+        </div><!-- leftColumn -->
+      <div id="rightColumn">
+
+
+
+    <div class="nav">
+        <div class="nav_prev">
+        
+            <a href="ch3.2-io-service-details.html">3.2 - IoService Details</a>
+		
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch3-service.html">Chapter 3 - Service</a>
+		
+        </div>
+        <div class="nav_next">
+        
+            <a href="ch3.4-connector.html">3.4 - Connector</a>
+		
+        </div>
+        <div class="clearfix"></div>
+    </div>
+
+
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="33-acceptor">3.3 - Acceptor<a class="headerlink" href="#33-acceptor" title="Permanent link">&para;</a></h1>
+<p>In order to build a server, you need to select an implementation of the <em>IoAcceptor</em> interface.</p>
+<h2 id="ioacceptor">IoAcceptor<a class="headerlink" href="#ioacceptor" title="Permanent link">&para;</a></h2>
+<p>Basically, this interface is named because of the <em>accept()</em> method, responsible for the creation of new connection between a client and the server. The server accepts incoming connection request.</p>
+<p>At some point, we could have named this interface 'Server'.</p>
+<p>As we may deal with more than one kind of transport (TCP/UDP/...), we have more than one implementation for this interface. It would be very unlikely that you need to implement a new one.</p>
+<p>We have many of those implementing classes</p>
+<ul>
+<li><strong>NioSocketAcceptor</strong> : the non-blocking Socket transport <em>IoAcceptor</em></li>
+<li><strong>NioDatagramAcceptor</strong> : the non-blocking UDP transport <em>IoAcceptor</em></li>
+<li><strong>AprSocketAcceptor</strong> : the blocking Socket transport <em>IoAcceptor</em>, based on APR</li>
+<li><strong>VmPipeSocketAcceptor</strong> : the in-VM <em>IoAcceptor</em></li>
+</ul>
+<p>Just pick the one that fit your need.</p>
+<p>Here is the class diagram for the <em>IoAcceptor</em> interfaces and classes :</p>
+<p><img alt="" src="../../../staticresources/images/mina/IoServiceAcceptor.png" /></p>
+<h2 id="creation">Creation<a class="headerlink" href="#creation" title="Permanent link">&para;</a></h2>
+<p>You first have to select the type of <em>IoAcceptor</em> you want to instanciate. This is a choice you will made early in the process, as it all boils down to which network protocol you will use. Let's see with an example how it works :</p>
+<div class="codehilite"><pre><span class="kd">public</span> <span class="nf">TcpServer</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">IOException</span> <span class="o">{</span>
+    <span class="c1">// Create a TCP acceptor</span>
+    <span class="n">IoAcceptor</span> <span class="n">acceptor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">NioSocketAcceptor</span><span class="o">();</span>
+
+    <span class="c1">// Associate the acceptor to an IoHandler instance (your application)</span>
+    <span class="n">acceptor</span><span class="o">.</span><span class="na">setHandler</span><span class="o">(</span><span class="k">this</span><span class="o">);</span>
+
+    <span class="c1">// Bind : this will start the server...</span>
+    <span class="n">acceptor</span><span class="o">.</span><span class="na">bind</span><span class="o">(</span><span class="k">new</span> <span class="n">InetSocketAddress</span><span class="o">(</span><span class="n">PORT</span><span class="o">));</span>
+
+    <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;Server started...&quot;</span><span class="o">);</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>That's it ! You have created a TCP server. If you want to start an UDP server, simply replace the first line of code :</p>
+<div class="codehilite"><pre><span class="o">...</span>
+<span class="c1">// Create an UDP acceptor</span>
+<span class="n">IoAcceptor</span> <span class="n">acceptor</span> <span class="o">=</span> <span class="k">new</span> <span class="n">NioDatagramAcceptor</span><span class="o">();</span>
+<span class="o">...</span>
+</pre></div>
+
+
+<h2 id="disposal">Disposal<a class="headerlink" href="#disposal" title="Permanent link">&para;</a></h2>
+<p>The service can be stopped by calling the <em>dispose()</em> method. The service will be stopped only when all the pending sessions have been processed :</p>
+<div class="codehilite"><pre><span class="c1">// Stop the service, waiting for the pending sessions to be inactive</span>
+<span class="n">acceptor</span><span class="o">.</span><span class="na">dispose</span><span class="o">();</span>
+</pre></div>
+
+
+<p>You can also wait for every thread being executed to be properly completed by passing a boolean parameter to this method :</p>
+<div class="codehilite"><pre><span class="c1">// Stop the service, waiting for the processing session to be properly completed</span>
+<span class="n">acceptor</span><span class="o">.</span><span class="na">dispose</span><span class="o">(</span> <span class="kc">true</span> <span class="o">);</span>
+</pre></div>
+
+
+<h2 id="status">Status<a class="headerlink" href="#status" title="Permanent link">&para;</a></h2>
+<p>You can get the <em>IoService</em> status by calling one of the following methods :</p>
+<ul>
+<li><em>isActive()</em> : true if the service can accept incoming requests</li>
+<li><em>isDisposing()</em> : true if the <em>dispose()</em> method has been called. It does not tell if the service is actually stopped (some sessions might be processed)</li>
+<li><em>isDisposed()</em> : true if the <em>dispose(boolean)</em> method has been called, and the executing threads have been completed.</li>
+</ul>
+<h2 id="managing-the-iohandler">Managing the IoHandler<a class="headerlink" href="#managing-the-iohandler" title="Permanent link">&para;</a></h2>
+<p>You can add or get the associated <em>IoHandler</em> when the service has been instanciated. Youjust have to call the <em>setHandler(IoHandler)</em> or <em>getHandler()</em> methods.</p>
+<h2 id="managing-the-filters-chain">Managing the Filters chain<a class="headerlink" href="#managing-the-filters-chain" title="Permanent link">&para;</a></h2>
+<p>if you want to manage the filters chain, you will have to call the <em>getFilterChain()</em> method. Here is an example :</p>
+<div class="codehilite"><pre><span class="c1">// Add a logger filter</span>
+<span class="n">DefaultIoFilterChainBuilder</span> <span class="n">chain</span> <span class="o">=</span> <span class="n">acceptor</span><span class="o">.</span><span class="na">getFilterChain</span><span class="o">();</span>
+<span class="n">chain</span><span class="o">.</span><span class="na">addLast</span><span class="o">(</span><span class="s">&quot;logger&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="n">LoggingFilter</span><span class="o">());</span>
+</pre></div>
+
+
+<p>You can also create the chain before and set it into the service :</p>
+<div class="codehilite"><pre><span class="c1">// Add a logger filter</span>
+<span class="n">DefaultIoFilterChainBuilder</span> <span class="n">chain</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DefaultIoFilterChainBuilder</span><span class="o">();</span>
+<span class="n">chain</span><span class="o">.</span><span class="na">addLast</span><span class="o">(</span><span class="s">&quot;logger&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="n">LoggingFilter</span><span class="o">());</span>
+
+<span class="c1">// And inject the created chain builder in the service</span>
+<span class="n">acceptor</span><span class="o">.</span><span class="na">setFilterChainBuilder</span><span class="o">(</span><span class="n">chain</span><span class="o">);</span>
+</pre></div>
+
+
+<h2 id="_1"><a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
+
+
+    <div class="nav">
+        <div class="nav_prev">
+        
+            <a href="ch3.2-io-service-details.html">3.2 - IoService Details</a>
+		
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch3-service.html">Chapter 3 - Service</a>
+		
+        </div>
+        <div class="nav_next">
+        
+            <a href="ch3.4-connector.html">3.4 - Connector</a>
+		
+        </div>
+        <div class="clearfix"></div>
+    </div>
+
+
+                </div><!-- rightColumn -->
+                <div id="endContent"></div>
+            </div><!-- content -->
+            <div id="footer">&copy; 2003-2019, <a href="https://www.apache.org">The Apache Software Foundation</a> - <a href="./../../../privacy-policy.html">Privacy Policy</a><br />
+                Apache MINA, MINA, Apache Vysper, Vysper, Apache SSHd, SSHd, Apache FtpServer, FtpServer, Apache AsyncWeb, AsyncWeb,
+                Apache, the Apache feather logo, and the Apache Mina project logos are trademarks of The Apache Software Foundation.
+            </div>
+        </div><!-- container -->
+		<script type="text/javascript">
+
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-11074178-1']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+
+		</script>
+    </body>
+</html>
+

Added: websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.4-connector.html
==============================================================================
--- websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.4-connector.html (added)
+++ websites/staging/mina/trunk/content/mina-project/userguide/ch3-service/ch3.4-connector.html Wed Mar 27 05:52:01 2019
@@ -0,0 +1,248 @@
+<!DOCTYPE html>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+<head>
+	<title>3.4 - Connector &mdash; Apache MINA</title>
+	
+		<link href="./../../../css/common.css" rel="stylesheet" type="text/css">
+		<link href="./../../../css/mina.css" rel="stylesheet" type="text/css">
+	
+  
+  <link rel="shortcut icon" href="./../../../staticresources/images/mina-icon_16x16.png"/>
+	
+</head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="subProjectsNavBar">
+          <a href="./../../../">
+            
+              Apache MINA Project
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../mina-project/index.html">
+            
+              <strong>MINA</strong>
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../asyncweb-project/index.html">
+            
+              AsyncWeb
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../ftpserver-project/index.html">
+            
+              FtpServer
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../sshd-project/index.html">
+            
+              SSHD
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../../../vysper-project/index.html">
+            
+              Vysper
+            
+          </a>
+        </div><!-- subProjectsNavBar -->
+      </div><!-- header -->
+      <div id="content">
+        <div id="leftColumn">
+                              
+          
+          
+          
+          
+            <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<div id="navigation">
+
+    <h5>Latest Downloads</h5>
+    <ul>
+        <li><a href="./../../../mina-project/downloads_2_0.html">Mina 2.0.20</a></li>
+        <li><a href="./../../../mina-project/downloads_2_1.html">Mina 2.1.0</a></li>
+        <li><a href="./../../../mina-project/downloads_old.html">Mina old versions</a></li>
+    </ul>
+    <h5>Documentation</h5>
+    <ul>
+      <li><a href="./../../../mina-project/documentation.html" class="external-link" rel="nofollow">Base documentation</a></li>
+      <li><a href="./../../../mina-project/userguide/user-guide-toc.html" class="external-link" rel="nofollow">User guide</a></li>
+      <li><a href="./../../../mina-project/2.1-vs-2.0.html" class="external-link" rel="nofollow">2.1 vs 2.0</a></li>
+      <li><a href="./../../../mina-project/features.html" class="external-link" rel="nofollow">Features</a></li>
+      <li><a href="./../../../mina-project/road-map.html" class="external-link" rel="nofollow">Road Map</a></li>
+      <li><a href="./../../../mina-project/quick-start-guide.html" class="external-link" rel="nofollow">Quick Start Guide</a></li>
+      <li><a href="./../../../mina-project/faq.html" class="external-link" rel="nofollow">FAQ</a></li>
+    </ul>
+    <h5>Resources</h5>
+    <ul>
+      <li><a href="./../../../mina-project/mailing-lists.html" class="external-link" rel="nofollow">Mailing lists &amp; IRC</a></li>
+      <li><a href="./../../../mina-project/issue-tracking.html" class="external-link" rel="nofollow">Issue tracking</a></li>
+      <li><a href="./../../../mina-project/sources.html" class="external-link" rel="nofollow">Sources</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.0/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc 2.0.20</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.1/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc 2.1.0</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.0/xref/index.html" class="external-link" rel="nofollow">API xref  2.0.20</a></li>
+      <li><a href="./../../../mina-project/gen-docs/latest-2.1/xref/index.html" class="external-link" rel="nofollow">API xref 2.1.0</a></li>
+      <li><a href="./../../../mina-project/performances.html" class="external-link" rel="nofollow">Performances</a></li>
+      <li><a href="./../../../mina-project/testimonials.html" class="external-link" rel="nofollow">Testimonials</a></li>
+      <li><a href="./../../../mina-project/conferences.html" class="external-link" rel="nofollow">Conferences</a></li>
+      <li><a href="./../../../mina-project/developer-guide.html" class="external-link" rel="nofollow">Developers Guide</a></li>
+      <li><a href="./../../../mina-project/related-projects.html" class="external-link" rel="nofollow">Related Projects</a></li>
+      <li><a href="https://people.apache.org/~vgritsenko/stats/projects/mina.html" class="external-link" rel="nofollow">Statistics</a></li>
+    </ul>
+
+
+    <h5>Community</h5>
+    <ul>
+      <li><a href="https://www.apache.org/foundation/contributing.html" class="external-link" rel="nofollow">Contributing</a></li>
+      <li><a href="./../../../contributors.html" class="external-link" rel="nofollow">Team</a></li>
+      <li><a href="./../../../special-thanks.html" class="external-link" rel="nofollow">Special Thanks</a></li>
+      <li><a href="https://www.apache.org/security/" class="external-link" rel="nofollow">Security</a></li>
+    </ul>
+
+
+    <h5>About Apache</h5>
+    <ul>
+      <li><a href="https://www.apache.org" class="external-link" rel="nofollow">Apache main site</a></li>
+      <li><a href="https://www.apache.org/licenses/" class="external-link" rel="nofollow">License</a></li>
+      <li><a href="https://www.apache.org/foundation/sponsorship.html" title="The ASF sponsorship program" class="external-link" rel="nofollow">Sponsorship program</a></li>
+      <li><a href="https://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</a></li>
+    </ul>
+
+
+    <h3><a name="Navigation-Upcoming"></a>Upcoming</h3>
+    <ul>
+      <li>No event</li>
+    </ul>
+
+</div>
+
+<!-- navigation -->
+          
+          
+        </div><!-- leftColumn -->
+      <div id="rightColumn">
+
+
+
+    <div class="nav">
+        <div class="nav_prev">
+        
+            <a href="ch3.3-acceptor.html">3.3 - Acceptor</a>
+		
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch3-service.html">Chapter 3 - Service</a>
+		
+        </div>
+        <div class="nav_next">
+        
+            <a href="../ch4-session/ch4-session.html">Chapter 4 - Session</a>
+		
+        </div>
+        <div class="clearfix"></div>
+    </div>
+
+
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="34-connector">3.4 - Connector<a class="headerlink" href="#34-connector" title="Permanent link">&para;</a></h1>
+<p>For client applications, you need to implement an implementation of the IoConnector interface.</p>
+<h2 id="ioconnector">IoConnector<a class="headerlink" href="#ioconnector" title="Permanent link">&para;</a></h2>
+<p>As we have to use an IoAcceptor for servers, you have to implement the IoConnector. Again, we have many implementation classes :</p>
+<ul>
+<li><strong>NioSocketConnector</strong> : the non-blocking Socket transport Connector</li>
+<li><strong>NioDatagramConnector</strong> : the non-blocking UDP transport * Connector*</li>
+<li><strong>AprSocketConnector</strong> : the blocking Socket transport * Connector*, based on APR</li>
+<li><strong>ProxyConnector</strong> : a Connector providing proxy support</li>
+<li><strong>SerialConnector</strong> : a Connector for a serial transport</li>
+<li><strong>VmPipeConnector</strong> : the in-VM * Connector*</li>
+</ul>
+<p>Just pick the one that fit your need.</p>
+<p>Here is the class diagram for the IoConnector interfaces and classes :</p>
+<p><img alt="" src="../../../staticresources/images/mina/IoServiceConnector.png" /></p>
+
+
+    <div class="nav">
+        <div class="nav_prev">
+        
+            <a href="ch3.3-acceptor.html">3.3 - Acceptor</a>
+		
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch3-service.html">Chapter 3 - Service</a>
+		
+        </div>
+        <div class="nav_next">
+        
+            <a href="../ch4-session/ch4-session.html">Chapter 4 - Session</a>
+		
+        </div>
+        <div class="clearfix"></div>
+    </div>
+
+
+                </div><!-- rightColumn -->
+                <div id="endContent"></div>
+            </div><!-- content -->
+            <div id="footer">&copy; 2003-2019, <a href="https://www.apache.org">The Apache Software Foundation</a> - <a href="./../../../privacy-policy.html">Privacy Policy</a><br />
+                Apache MINA, MINA, Apache Vysper, Vysper, Apache SSHd, SSHd, Apache FtpServer, FtpServer, Apache AsyncWeb, AsyncWeb,
+                Apache, the Apache feather logo, and the Apache Mina project logos are trademarks of The Apache Software Foundation.
+            </div>
+        </div><!-- container -->
+		<script type="text/javascript">
+
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-11074178-1']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+
+		</script>
+    </body>
+</html>
+