Author: buildbot
Date: Tue Sep 20 09:16:49 2016
New Revision: 997806

Log:
Staging update by buildbot for mina

Added:
    
websites/staging/mina/trunk/content/mina-project/userguide/ch4-session/ch4.1-session-configuration.html
    
websites/staging/mina/trunk/content/mina-project/userguide/ch4-session/ch4.2-session-statistics.html
Modified:
    websites/staging/mina/trunk/content/   (props changed)
    
websites/staging/mina/trunk/content/mina-project/userguide/ch4-session/ch4-session.html
    
websites/staging/mina/trunk/content/mina-project/userguide/user-guide-toc.html

Propchange: websites/staging/mina/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Sep 20 09:16:49 2016
@@ -1 +1 @@
-1758403
+1761541

Modified: 
websites/staging/mina/trunk/content/mina-project/userguide/ch4-session/ch4-session.html
==============================================================================
--- 
websites/staging/mina/trunk/content/mina-project/userguide/ch4-session/ch4-session.html
 (original)
+++ 
websites/staging/mina/trunk/content/mina-project/userguide/ch4-session/ch4-session.html
 Tue Sep 20 09:16:49 2016
@@ -182,8 +182,20 @@ h2:hover > .headerlink, h3:hover > .head
 }
 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="chapter-4-session">Chapter 4 - Session<a class="headerlink" 
href="#chapter-4-session" title="Permanent link">&para;</a></h1>
-<p>The Session is at the heart of MINA : every time a client connects to the 
server, a new session is created, and will be kept in memory until the client 
is disconnected.</p>
-<p>A session is used to store persistent informations about the connection, 
plus any kind of information the server might need to use during the request 
processing, and eventually during the whole session life.</p>
+<h2 id="content">Content<a class="headerlink" href="#content" title="Permanent 
link">&para;</a></h2>
+<ol>
+<li><a href="ch4.1-session-configuration.html">Chapter 4.1 - Session 
Configuration</a></li>
+<li><a href="ch4.2-session-statistics.html">Chapter 4.2 - Session 
Statistics</a></li>
+</ol>
+<p>The Session is at the heart of MINA : every time a client connects to the 
server, a new session is created on the server, and will be kept in memory 
until the client is disconnected. If you are using MINA on the client side, 
everytime you conect to a server, a session will be created on the client 
too.</p>
+<p>A session is used to store persistent informations about the connection, 
plus any kind of information the client or the server might need to use during 
the request processing, and eventually during the whole session life.</p>
+<p>This is also your access point for any operation you need to do on a 
session : sending messages, closing the session, etc...</p>
+<DIV class="note" markdown="1">
+It is critical to understand that due to the asynchrnous very nature of NIO, 
reading from a session does not make a lot of sense. Actually, your application 
get signalled whe some incoming message has arrived, and this is the IoHandler 
which is responsible for handling such event.
+
+In other words, don't call session.read(). Never.
+</DIV>
+
 <h2 id="session-state">Session state<a class="headerlink" 
href="#session-state" title="Permanent link">&para;</a></h2>
 <p>A session has a state, which will evolve during time.</p>
 <ul>
@@ -195,10 +207,60 @@ h2:hover > .headerlink, h3:hover > .head
 </ul>
 </li>
 <li>Closing : the session is being closed (the remaining messages are being 
flushed, cleaning up is not terminated)</li>
-<li>Closed : The session is now closed, nothing else can be done to revive 
it.</li>
+<li>Closed : The session is now closed, nothing else can be done to revive it. 
This is actually not a real state : when teh session is closed, it's 
removed.</li>
 </ul>
 <p>The following state diagram exposes all the possible states and transitions 
:</p>
 <p><img alt="" src="../../../staticresources/images/mina/session-state.png" 
/></p>
+<p>We have a set of methods to get some information about the session 
status.</p>
+<p>Session status :</p>
+<ul>
+<li>isActive() : tells if the session is valid (it might mean different things 
depending on the implementation)</li>
+<li>isClosing() : tells if the session is already being closed</li>
+<li>isConnected() : tells if the session is active (ie, not in the closing 
mode)</li>
+</ul>
+<h2 id="opening-a-session">Opening a session<a class="headerlink" 
href="#opening-a-session" title="Permanent link">&para;</a></h2>
+<p>Actually, there is nothing you have to do : it's automatic ! Everytime a 
remote peer connect to a server, the server will create a new connection. On 
the client side, everytime you connect to a server, a session will be 
created.</p>
+<p>This session is passed as an argument to your handler, so that you can do 
something with it in your application. On the client side, when you do connect 
to a server, you can get back the created session this way :</p>
+<p>:::java
+    ...
+    ConnectFuture connectionFuture = connector.connect(address);
+    connectionFuture.awaitUninterruptibly();</p>
+<div class="codehilite"><pre><span class="k">if</span> <span 
class="p">(</span>!<span class="n">connectionFuture</span><span 
class="p">.</span><span class="n">isConnected</span><span class="p">())</span> 
<span class="p">{</span>
+    <span class="k">return</span> <span class="n">false</span><span 
class="p">;</span>
+<span class="p">}</span>
+
+<span class="n">session</span> <span class="p">=</span> <span 
class="n">connectionFuture</span><span class="p">.</span><span 
class="n">getSession</span><span class="p">();</span>
+<span class="p">...</span>
+</pre></div>
+
+
+<p>You can also do it in a shortest way :</p>
+<p>:::java
+    ...
+    session = connector.connect(address).getSession();
+    ...</p>
+<h2 id="initialization">Initialization<a class="headerlink" 
href="#initialization" title="Permanent link">&para;</a></h2>
+<p>When a new session is created, it has to be initialized. This is done using 
the default IoService configuration, bt you can update this configuration later 
on. Actually, when the session is created, we internally create a copy of the 
default IoService configuration that is stored within the session, and this is 
this configuration instance that will be used (and that can be modified).</p>
+<p>This initialization will also starts the statistics counters, create the 
Attributes container, associate a write queue to to the session (this is where 
the messages will be enqueued until they have been sent), and ultimately, would 
you have provided a specific task to do during this phase, it will call it.</p>
+<h2 id="closing-a-session">Closing a session<a class="headerlink" 
href="#closing-a-session" title="Permanent link">&para;</a></h2>
+<p>A session can be closed in 4 ways, two of which are explicit :
+<em> calling the <em>closeNow()</em> method (explicit)</em> calling the 
<em>closeOnFlush()</em> method (explicit)
+<em> when the remote peer has nicely closed the connection
+</em> if an exception occurs</p>
+<p>(note there are two deprecated methods that should not anymore be used : 
<em>close(boolean)</em> and <em>close()</em>)</p>
+<h3 id="explicit-closure">Explicit closure<a class="headerlink" 
href="#explicit-closure" title="Permanent link">&para;</a></h3>
+<p>The first two methods can be called anywhere in your application, the big 
difference is one (<em>closeNow()</em>) will simply close the session, 
discarding any message waiting to be transmitted to the peer, while the 
<em>closeOnFlush()</em> will wait until any pending message has been 
transmitted to the peer. </p>
+<DIV class="note" markdown="1">
+Be aware that if the remote peer is not anymore connected, the session that 
you are closing using a _closeOnFlush()_ call will never be destroyed, unless 
you also handle its idleness, or before the system TCP timeout has closed the 
socket - which might take hours -. Always manage idleness in your applications.
+</DIV>
+
+<h3 id="remote-peer-closing">Remote peer closing<a class="headerlink" 
href="#remote-peer-closing" title="Permanent link">&para;</a></h3>
+<p>When the remote peer closes the session properly, the session will be 
closed, and all the pending messages will be discarded. This is usually the way 
it works. </p>
+<p>However, sometime, the remote peer does not properly close the connection 
(this could happen when the cable is brutally unplugged). In this case, the 
session never get informed about the disconnection. The only way to know about 
it is to regularly check for the session state : if it's idle for more than a 
specific amount of time - it has to be configured -, then the application can 
decide to close the session. Otherwise, the session will be closed eventually 
when the TCP timeout will be reached (it can take hours...).</p>
+<h3 id="exception">Exception<a class="headerlink" href="#exception" 
title="Permanent link">&para;</a></h3>
+<p>In some case, an excepion will occur that will cause the session to be 
closed. Typically, when a session is being created, we may face an issue, and 
the session will be immediately closed. One other possibility is that we can't 
write some message, for instance because the channel has been closed : we then 
close the session.</p>
+<p>All in all, everytime we met an exception while processing a session, this 
session will be closed.</p>
+<p>Of course, your application will be informed through the 
<em>ExeptionCaught</em> event.</p>
 <h2 id="configuration">Configuration<a class="headerlink" 
href="#configuration" title="Permanent link">&para;</a></h2>
 <p>Many different parameters can be set for a specific session :</p>
 <ul>
@@ -206,10 +268,13 @@ h2:hover > .headerlink, h3:hover > .head
 <li>sending buffer size</li>
 <li>Idle time</li>
 <li>Write timeOut</li>
+<li>...</li>
 </ul>
-<p>plus other configuration, depending on the transport type used (see Chapter 
6 - Transports)</p>
+<p>plus other configuration, depending on the transport type used (see Chapter 
6 - Transports).</p>
+<p>All those configuration parameters are stored into the 
<em>IoSessionConfig</em> object, which can be get from the session using the 
<em>session.getConfig()</em> method.</p>
+<p>For further informations about the session configuration, see <a 
href="ch4-session/ch4.1-session-configuration.html">Chapter 4.1 - Session 
Configuration</a></p>
 <h2 id="managing-user-defined-attributes">Managing user-defined attributes<a 
class="headerlink" href="#managing-user-defined-attributes" title="Permanent 
link">&para;</a></h2>
-<p>It might be necessary to store some data which may be used later. This is 
done using the dedicated data structure associated which each session. This is 
a key-value association, which can store any type of data the developer might 
want to keep remanent.</p>
+<p>It might be necessary to store some data which may be used later. This is 
done using the dedicated data structure associated which each session. This is 
a key-value association, which can store any type of data the developer might 
want to keep remanent along the session's life.</p>
 <p>For instance, if you want to track the number of request a user has sent 
since the session has been created, it's easy to store it into this map: just 
create a key that will be associated with this value.</p>
 <div class="codehilite"><pre><span class="o">...</span>
 <span class="kt">int</span> <span class="n">counterValue</span> <span 
class="o">=</span> <span class="n">session</span><span class="o">.</span><span 
class="na">getAttribute</span><span class="o">(</span> <span 
class="s">&quot;counter&quot;</span> <span class="o">);</span>
@@ -220,7 +285,7 @@ h2:hover > .headerlink, h3:hover > .head
 
 <p>We have a way to handle stored Attributes into the session : an Attribute 
is a key/value pair, which can be added, removed and read from the session's 
container.</p>
 <p>This container is created automatically when the session is created, and 
will be disposed when the session is terminated.</p>
-<h2 id="defining-the-container">Defining the container<a class="headerlink" 
href="#defining-the-container" title="Permanent link">&para;</a></h2>
+<h3 id="the-session-container">The session container<a class="headerlink" 
href="#the-session-container" title="Permanent link">&para;</a></h3>
 <p>As we said, this container is a key/value container, which default to a 
Map, but it's also possible to define another data structure if one want to 
handle long lived data, or to avoid storing all those data in memory if they 
are large : we can implement an interface and a factory that will be used to 
create this container when the session is created.</p>
 <p>This snippet of code shows how the container is created during the session 
initialization :</p>
 <div class="codehilite"><pre><span class="kd">protected</span> <span 
class="kd">final</span> <span class="kt">void</span> <span 
class="nf">initSession</span><span class="o">(</span><span 
class="n">IoSession</span> <span class="n">session</span><span 
class="o">,</span>
@@ -251,6 +316,22 @@ h2:hover > .headerlink, h3:hover > .head
 </pre></div>
 
 
+<h3 id="the-session-attributes-access">The session attributes access<a 
class="headerlink" href="#the-session-attributes-access" title="Permanent 
link">&para;</a></h3>
+<p>There are many methods available to manipulate the session's attributes 
:</p>
+<ul>
+<li>boolean containsAttribute(Object key) : tells if a given attribute is 
present</li>
+<li>Object getAttribute(Object key) : gets the value for a given attribute</li>
+<li>Object getAttribute(Object key, Object defaultValue) : gets the value for 
a given attribute, or a default value if absent</li>
+<li>Set<Object> getAttributeKeys() : gets the set of all the stored 
attributes</li>
+<li>Object removeAttribute(Object key) : remove a given attribute</li>
+<li>boolean removeAttribute(Object key, Object value) : remove a given 
attribute/value pair</li>
+<li>boolean replaceAttribute(Object key, Object oldValue, Object newValue) : 
replace a give attribute/value pair</li>
+<li>Object setAttribute(Object key) : adds a new attribute with no value</li>
+<li>Object setAttribute(Object key, Object value) : adds a new attribute/value 
pair</li>
+<li>Object setAttributeIfAbsent(Object key) : adds a new attribute with no 
value, if it does not already exist</li>
+<li>Object setAttributeIfAbsent(Object key, Object value) : adds a new 
attribute/value pair, if it does not already exist</li>
+</ul>
+<p>All those methods allows your application to store, remove, get or update 
the attributes stored into your session. Also note that some attributes are 
used internally by MINA : don't lightly modify those you didn't create !</p>
 <h2 id="filter-chain">Filter chain<a class="headerlink" href="#filter-chain" 
title="Permanent link">&para;</a></h2>
 <p>Each session is associated with a chain of filters, which will be processed 
when an incoming request or an outgoing message is received or emitted. Those 
filters are specific for each session individually, even if most of the cases, 
we will use the very same chain of filters for all the existing sessions.</p>
 <p>However, it's possible to dynamically modify the chain for a single 
session, for instance by adding a Logger Filter in the chain for a specific 
session.</p>
@@ -263,8 +344,9 @@ h2:hover > .headerlink, h3:hover > .head
 <li>throughput</li>
 </ul>
 <p>and many other useful informations.</p>
+<p>For further informations about the session statistics, see <a 
href="ch4-session/ch4.2-session-statistics.html">Chapter 4.2 - Session 
Statistics</a></p>
 <h2 id="handler">Handler<a class="headerlink" href="#handler" title="Permanent 
link">&para;</a></h2>
-<p>Last, not least, a session is attached to a Handler, in charge of 
dispatching the messages to your application. This handler will also send pack 
response by using the session, simply by calling the write() method :</p>
+<p>Last, not least, a session is attached to a Handler, in charge of 
dispatching the messages to your application. This handler will also send back 
response by using the session, simply by calling the write() method :</p>
 <div class="codehilite"><pre><span class="o">...</span>
 <span class="n">session</span><span class="o">.</span><span 
class="na">write</span><span class="o">(</span> <span 
class="o">&lt;</span><span class="n">your</span> <span 
class="n">message</span><span class="o">&gt;</span> <span class="o">);</span>
 <span class="o">...</span>

Added: 
websites/staging/mina/trunk/content/mina-project/userguide/ch4-session/ch4.1-session-configuration.html
==============================================================================
--- 
websites/staging/mina/trunk/content/mina-project/userguide/ch4-session/ch4.1-session-configuration.html
 (added)
+++ 
websites/staging/mina/trunk/content/mina-project/userguide/ch4-session/ch4.1-session-configuration.html
 Tue Sep 20 09:16:49 2016
@@ -0,0 +1,276 @@
+<!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>Chapter 4.1 - Session Configuration &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.html">Mina 
2.0.14</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/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/downloads.html" 
class="external-link" rel="nofollow">Downloads</a></li>
+      <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/apidocs/index.html" 
class="external-link" rel="nofollow">API Javadoc</a></li>
+      <li><a href="./../../../mina-project/xref/index.html" 
class="external-link" rel="nofollow">API xref</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="http://people.apache.org/~vgritsenko/stats/projects/mina.html"; 
class="external-link" rel="nofollow">Statistics</a></li>
+    </ul>
+
+
+    <h5>Community</h5>
+    <ul>
+      <li><a href="http://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="http://www.apache.org/security/"; class="external-link" 
rel="nofollow">Security</a></li>
+    </ul>
+
+
+    <h5>About Apache</h5>
+    <ul>
+      <li><a href="http://www.apache.org"; class="external-link" 
rel="nofollow">Apache main site</a></li>
+      <li><a href="http://www.apache.org/licenses/"; class="external-link" 
rel="nofollow">License</a></li>
+      <li><a href="http://www.apache.org/foundation/sponsorship.html"; 
title="The ASF sponsorship program" class="external-link" 
rel="nofollow">Sponsorship program</a></li>
+      <li><a href="http://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="ch4-session.html">Chapter 4 - Session</a>
+               
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch4-session.html">Chapter 4 - Session</a>
+               
+        </div>
+        <div class="nav_next">
+        
+            <a href="ch4.2-session-statistics.html">Chapter 4.2 - Session 
Statistics</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="chapter-41-session-configuration">Chapter 4.1 - Session 
Configuration<a class="headerlink" href="#chapter-41-session-configuration" 
title="Permanent link">&para;</a></h1>
+<p>Depending on the Session's type, we can configure various elements. Some of 
those elements are shared across all the session's type, some other are 
specific.</p>
+<p>We currently support 4 session flavors :</p>
+<ul>
+<li>Socket : support for the TCP transport</li>
+<li>Datagram : support for the UDP transport</li>
+<li>Serial : support for the RS232 transport</li>
+<li>VmPipe : support for the IPC transport</li>
+</ul>
+<h2 id="general-parameters">General parameters<a class="headerlink" 
href="#general-parameters" title="Permanent link">&para;</a></h2>
+<p>Here is the list of all the global parameters (they can be set fo any of 
the Session flavors) :</p>
+<p>|| Parameter || type || Description || Default value ||
+| idleTimeForBoth | int | The number of seconds to wait before notify a 
session that is idle on reads and writes | Infinite |
+| idleTimeForRead | int | The number of seconds to wait before notify a 
session that is idle on reads | Infinite |
+| idleTimeForWrite | int | The number of seconds to wait before notify a 
session that is idle on writes | Infinite |
+| maxReadBufferSize | int | The maximum size of the buffer used to read 
incomming data | 65536 bytes |
+| minReadBufferSize | int | The minimal size of the buffer used to read 
incomming data | 64 bytes |
+| readBufferSize | int | The default size of the buffer used to read incomming 
data | 2048 bytes |
+| throughputCalculationInterval | int | The interval (seconds) between each 
throughput calculation. | 3s |
+| useReadOperation | boolean | A flag set to TRUE when we allow an application 
to do a __session.read()_ | FALSE |
+| writeTimeout | int | Delay to wait for completion before bailing out a write 
operation | 60s |</p>
+<p>All those parameters can be accessed through the use of getters and setters 
(the <em>useReadOperation</em> parameter getter is using the 
<em>isUseReadOperation()</em> method).</p>
+<h2 id="socket-specific-parameters">Socket specific parameters<a 
class="headerlink" href="#socket-specific-parameters" title="Permanent 
link">&para;</a></h2>
+<p>|| Parameter || type || Description || Default value ||
+| defaultReuseAddress | boolean | The value for the SO_REUSEADDR flag | true |
+| keepAlive | boolean | The value for the SO_KEEPALIVE flag | false |
+| oobInline | boolean | The value for the SO_OOBINLINE flag | false |
+| receiveBufferSize | int | The value for the SO_RCVBUF parameter | -1 |
+| reuseAddress | boolean | The value for the SO_REUSEADDR flag | false |
+| sendBufferSize | int | The value for the SO_SNDBUF parameter | -1 |
+| soLinger | int | The value for the SO_LINGER parameter | -1 |
+| tcpNoDelay | boolean | The value for the TCP_NODELAY flag | false |
+| trafficClass | int | The value for the IP_TOS parameter. One of 
IPTOS_LOWCOST(0x02), IPTOS_RELIABILITY(0x04), IPTOS_THROUGHPUT (0x08) or 
IPTOS_LOWDELAY (0x10) | 0 |</p>
+<h2 id="datagram-specific-parameters">Datagram specific parameters<a 
class="headerlink" href="#datagram-specific-parameters" title="Permanent 
link">&para;</a></h2>
+<p>|| Parameter || type || Description || Default value ||
+| broadcast | boolean | The value for the SO_BROADCAST flag | false |
+| closeOnPortUnreachable | boolean | Tells if we should close the session if 
the port is unreachable | true |
+| receiveBufferSize | int | The value for the SO_RCVBUF parameter | -1 |
+| reuseAddress | boolean | The value for the SO_REUSEADDR flag | false |
+| sendBufferSize | int | The value for the SO_SNDBUF parameter | -1 |
+| trafficClass | int | The value for the IP_TOS parameter. One of 
IPTOS_LOWCOST(0x02), IPTOS_RELIABILITY(0x04), IPTOS_THROUGHPUT (0x08) or 
IPTOS_LOWDELAY (0x10) | 0 |</p>
+<h2 id="serial-specific-parameters">Serial specific parameters<a 
class="headerlink" href="#serial-specific-parameters" title="Permanent 
link">&para;</a></h2>
+<p>|| Parameter || type || Description || Default value ||
+| inputBufferSize | int | The input buffer size to use | 8 |
+| lowLatency | boolean | Set the Low Latency mode | false |
+| outputBufferSize | int | The ouput buffer size to use | 8 |
+| receiveThreshold | int | Set the receive threshold in byte (set it to -1 for 
disable) | -1 |</p>
+
+
+    <div class="nav">
+        <div class="nav_prev">
+        
+            <a href="ch4-session.html">Chapter 4 - Session</a>
+               
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch4-session.html">Chapter 4 - Session</a>
+               
+        </div>
+        <div class="nav_next">
+        
+            <a href="ch4.2-session-statistics.html">Chapter 4.2 - Session 
Statistics</a>
+               
+        </div>
+        <div class="clearfix"></div>
+    </div>
+
+
+                </div><!-- rightColumn -->
+                <div id="endContent"></div>
+            </div><!-- content -->
+            <div id="footer">&copy; 2003-2015, <a 
href="http://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/ch4-session/ch4.2-session-statistics.html
==============================================================================
--- 
websites/staging/mina/trunk/content/mina-project/userguide/ch4-session/ch4.2-session-statistics.html
 (added)
+++ 
websites/staging/mina/trunk/content/mina-project/userguide/ch4-session/ch4.2-session-statistics.html
 Tue Sep 20 09:16:49 2016
@@ -0,0 +1,243 @@
+<!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>Chapter 4.2 - Session Statistics &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.html">Mina 
2.0.14</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/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/downloads.html" 
class="external-link" rel="nofollow">Downloads</a></li>
+      <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/apidocs/index.html" 
class="external-link" rel="nofollow">API Javadoc</a></li>
+      <li><a href="./../../../mina-project/xref/index.html" 
class="external-link" rel="nofollow">API xref</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="http://people.apache.org/~vgritsenko/stats/projects/mina.html"; 
class="external-link" rel="nofollow">Statistics</a></li>
+    </ul>
+
+
+    <h5>Community</h5>
+    <ul>
+      <li><a href="http://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="http://www.apache.org/security/"; class="external-link" 
rel="nofollow">Security</a></li>
+    </ul>
+
+
+    <h5>About Apache</h5>
+    <ul>
+      <li><a href="http://www.apache.org"; class="external-link" 
rel="nofollow">Apache main site</a></li>
+      <li><a href="http://www.apache.org/licenses/"; class="external-link" 
rel="nofollow">License</a></li>
+      <li><a href="http://www.apache.org/foundation/sponsorship.html"; 
title="The ASF sponsorship program" class="external-link" 
rel="nofollow">Sponsorship program</a></li>
+      <li><a href="http://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="ch4.1-session-configuration.html">Chapter 4.1 - Session 
Configuration</a>
+               
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch4-session.html">Chapter 4 - Session</a>
+               
+        </div>
+        <div class="nav_next">
+        
+            <a href="../ch5-filters/ch5-filters.html">Chapter 5 - Filters</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="chapter-42-session-statistics">Chapter 4.2 - Session Statistics<a 
class="headerlink" href="#chapter-42-session-statistics" title="Permanent 
link">&para;</a></h1>
+<p>We keep some statistics in each sessions about what's going on. Not all 
those statistics are computed fr every message though : some of them are 
computed on demand.</p>
+<p>|| Parameter || Type || Description || automatic ||
+| readBytes | long | The total number of bytes read since the session was 
created | yes |
+| readBytesThroughput | double | The number of bytes read per second in the 
last interval | no |
+| readMessages | long | The total number of messages read since the session 
was created | yes |
+| readMessagesThroughput | double | The number of messages read per second in 
the last interval | no |
+| scheduledWriteBytes | AtomicInteger | The number of bytes waiting to be 
written | yes |
+| scheduledWriteMessages | AtomicInteger | The number of messages waiting to 
be written | yes |
+| writtenBytes | long | The total number of bytes written since the session 
was created | yes |
+| writtenBytesThroughput | double | The number of bytes written per second in 
the last interval | no |
+| writtenMessages | long | The total number of messages written since the 
session was created | yes |
+| writtenMessagesThroughput | double | The number of messages written per 
second in the last interval | no |</p>
+<p>All those parameters can be read using getters.</p>
+
+
+    <div class="nav">
+        <div class="nav_prev">
+        
+            <a href="ch4.1-session-configuration.html">Chapter 4.1 - Session 
Configuration</a>
+               
+        </div>
+        <div class="nav_up">
+        
+            <a href="ch4-session.html">Chapter 4 - Session</a>
+               
+        </div>
+        <div class="nav_next">
+        
+            <a href="../ch5-filters/ch5-filters.html">Chapter 5 - Filters</a>
+               
+        </div>
+        <div class="clearfix"></div>
+    </div>
+
+
+                </div><!-- rightColumn -->
+                <div id="endContent"></div>
+            </div><!-- content -->
+            <div id="footer">&copy; 2003-2015, <a 
href="http://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>
+

Modified: 
websites/staging/mina/trunk/content/mina-project/userguide/user-guide-toc.html
==============================================================================
--- 
websites/staging/mina/trunk/content/mina-project/userguide/user-guide-toc.html 
(original)
+++ 
websites/staging/mina/trunk/content/mina-project/userguide/user-guide-toc.html 
Tue Sep 20 09:16:49 2016
@@ -169,6 +169,8 @@ h2:hover > .headerlink, h3:hover > .head
 <li><a href="ch2-basics/ch2-basics.html">Chapter 2 - Basics</a></li>
 <li><a href="ch3-service/ch3-service.html">Chapter 3 - Service</a></li>
 <li><a href="ch4-session/ch4-session.html">Chapter 4 - Session</a></li>
+<li><a href="ch4-session/ch4.1-session-configuration.html">Chapter 4.1 - 
Session Configuration</a></li>
+<li><a href="ch4-session/ch4.2-session-statistics.html">Chapter 4.2 - Session 
Statistics</a></li>
 <li><a href="ch5-filters/ch5-filters.html">Chapter 5 - Filters</a></li>
 <li><a href="ch6-transports/ch6-transports.html">Chapter 6 - 
Transports</a></li>
 <li><a href="ch7-handler/ch7-handler.html">Chapter 7 - Handler</a></li>



Reply via email to