This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/mina-site.git
The following commit(s) were added to refs/heads/asf-site by this push: new c4fbf5dd8 Updated site from master (8845f0314f51d8d4edb6afc6beeb33a6483925b0) c4fbf5dd8 is described below commit c4fbf5dd89ffa26e8de45085a42a6fd23d0e6b51 Author: jenkins <bui...@apache.org> AuthorDate: Mon Sep 16 07:47:09 2024 +0000 Updated site from master (8845f0314f51d8d4edb6afc6beeb33a6483925b0) --- content/index.xml | 2 +- content/mina-project/documentation.html | 4 +- content/mina-project/index.xml | 2 +- .../technical-documentation/ssl-tls-internal.html | 2 +- .../userguide/ch4-session/ch4-session.html | 72 +++++++++++----------- content/sitemap.xml | 8 +-- 6 files changed, 45 insertions(+), 45 deletions(-) diff --git a/content/index.xml b/content/index.xml index edc83842f..648ba065a 100644 --- a/content/index.xml +++ b/content/index.xml @@ -1259,7 +1259,7 @@ Why use a ProtocolCodecFilter? TCP guarantees delivery of all packets in the co <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> <guid>https://mina.apache.org/mina-project/documentation.html</guid> - <description>Documentation The MINA 2.0 User Guide can be found here : [User Guide](userguide/user-guide-toc.html) Presentation Materials Versions & References Tutorials For Developers Examples Older Presentation Materials Presentation Materials These presentation materials will help you understand the overall architecture and core constructs of MINA + <description>Documentation The MINA 2.0 User Guide can be found here : User Guide[User Guide]() Presentation Materials Versions & References Tutorials For Developers Examples Older Presentation Materials Presentation Materials These presentation materials will help you understand the overall architecture and core constructs of MINA MINA in real life (ApacheCon EU 2009) by Emmanuel L&eacute;charny Rapid Network Application Development with Apache MINA (JavaOne 2008) by Trustin Lee Apache MINA - The High Performance Protocol Construction Toolkit (ApacheCon US 2007) by Peter Royal Introduction to MINA (ApacheCon Asia 2006) by Trustin Lee Versions &amp; References There are currently three branches in MINA:</description> </item> diff --git a/content/mina-project/documentation.html b/content/mina-project/documentation.html index fd38265c8..59a28fad5 100644 --- a/content/mina-project/documentation.html +++ b/content/mina-project/documentation.html @@ -124,7 +124,7 @@ <h1 id="documentation">Documentation</h1> <div class="note" markdown="1"> - The MINA 2.0 User Guide can be found here : [User Guide](userguide/user-guide-toc.html) + The MINA 2.0 User Guide can be found here : <a href="userguide/user-guide-toc.html">User Guide</a>[User Guide]() </div> <nav id="TableOfContents"> <ul> @@ -198,7 +198,7 @@ <li><a href="userguide/ch14-state-machine/ch14-state-machine.html">Introduction to mina-statemachine</a> - Implementing state machine based MINA applications using Java5 annotations</li> </ul> </li> -<li><a href="userguide/user-guide-toc.html">User Guide</a> - The new draft MINA User Guide.</li> +<li><a href="userguide/user-guide-toc.html">User Guide</a> - The new <strong>MINA 2.0</strong> User Guide.</li> </ul> <h3 id="for-developers">For Developers</h3> <ul> diff --git a/content/mina-project/index.xml b/content/mina-project/index.xml index ef1ed826d..284675fd9 100644 --- a/content/mina-project/index.xml +++ b/content/mina-project/index.xml @@ -622,7 +622,7 @@ Why use a ProtocolCodecFilter? TCP guarantees delivery of all packets in the co <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> <guid>https://mina.apache.org/mina-project/documentation.html</guid> - <description>Documentation The MINA 2.0 User Guide can be found here : [User Guide](userguide/user-guide-toc.html) Presentation Materials Versions & References Tutorials For Developers Examples Older Presentation Materials Presentation Materials These presentation materials will help you understand the overall architecture and core constructs of MINA + <description>Documentation The MINA 2.0 User Guide can be found here : User Guide[User Guide]() Presentation Materials Versions & References Tutorials For Developers Examples Older Presentation Materials Presentation Materials These presentation materials will help you understand the overall architecture and core constructs of MINA MINA in real life (ApacheCon EU 2009) by Emmanuel L&eacute;charny Rapid Network Application Development with Apache MINA (JavaOne 2008) by Trustin Lee Apache MINA - The High Performance Protocol Construction Toolkit (ApacheCon US 2007) by Peter Royal Introduction to MINA (ApacheCon Asia 2006) by Trustin Lee Versions &amp; References There are currently three branches in MINA:</description> </item> diff --git a/content/mina-project/technical-documentation/ssl-tls-internal.html b/content/mina-project/technical-documentation/ssl-tls-internal.html index 07d80bfa5..62fd4ff61 100644 --- a/content/mina-project/technical-documentation/ssl-tls-internal.html +++ b/content/mina-project/technical-documentation/ssl-tls-internal.html @@ -140,7 +140,7 @@ <li>post-initialization, by starting the Handshake dialog</li> </ul> <p>Most of the time, both phases will be merged, as one can tell the first phase to immediately starts the second.</p> -<p>In any case, it’s handled by the <strong>onPreAdd</strong> and _<em>onPostAdd</em> events, which means it’s automatically processed when you push the <strong>SslFilter</strong> into the chain.</p> +<p>In any case, it’s handled by the <strong>onPreAdd</strong> and <strong>onPostAdd</strong> events, which means it’s automatically processed when you push the <strong>SslFilter</strong> into the chain.</p> <h3 id="onpreadd">onPreAdd</h3> <p>The <strong>SslHandler</strong> class is created and initialized, and the instance is stored into the session attributes. That means each session has its own instance of <strong>SslHandler</strong>. This initialization will create a <strong>SSLEngine</strong> instance based on the provided <strong>SSLContext</strong> instance. The initialization will differ based on the ‘side’ you are on: server or client. Basically, the server side will wait for the client to initiate the [...] <p>It’s also responsible to set the enabled ciphers and protocols, if one wants to use a restricted set, or an extended set (newer versions of Java have disabled old protocols and insecure ciphers).</p> diff --git a/content/mina-project/userguide/ch4-session/ch4-session.html b/content/mina-project/userguide/ch4-session/ch4-session.html index 52b8159eb..837b46689 100644 --- a/content/mina-project/userguide/ch4-session/ch4-session.html +++ b/content/mina-project/userguide/ch4-session/ch4-session.html @@ -160,38 +160,38 @@ It is critical to understand that due to the asynchrnous very nature of NIO, rea <h2 id="session-state">Session state</h2> <p>A session has a state, which will evolve during time.</p> <ul> -<li>Created : the session has just been created</li> -<li>Connected : the session has been created and is available</li> -<li>Idle : the session hasn’t processed any request for at least a period of time (this period is configurable) +<li><em>Created</em> : the session has just been created</li> +<li><em>Connected</em> : the session has been created and is available</li> +<li>_Idle _: the session hasn’t processed any request for at least a period of time (this period is configurable) <ul> -<li>Idle for read : no read has actually been made for a period of time</li> -<li>Idle for write : no write has actually been made for a period of time</li> -<li>Idle for both : no read nor write for a period of time</li> +<li>Idle for read_ : no read has actually been made for a period of time</li> +<li>Idle for write_ : no write has actually been made for a period of time</li> +<li>Idle for both_ : no read nor write for a period of time</li> </ul> </li> -<li>Secured : the TLS layer has been initialised</li> -<li>Unsecured : The TLS layer has been shut down</li> -<li>Closing : the session is being closed (the remaining messages are being flushed, cleaning up is not terminated)</li> -<li>Input closed : the input part of the socket has been closed</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> +<li><em>Secured</em> : the TLS layer has been initialised</li> +<li><em>Unsecured</em> : The TLS layer has been shut down</li> +<li><em>Closing</em> : the session is being closed (the remaining messages are being flushed, cleaning up is not terminated)</li> +<li><em>Input closed</em> : the input part of the socket has been closed</li> +<li><em>Closed</em> : 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 src="/assets/img/mina/session-state.png" alt=""></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>isBothIdle() : tells if the session is idling on reads and writes</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> -<li>isIdle( idling status ) : tells if the session is idling on a specific state (read or write)</li> -<li>isReadIdle() : tells if the session is idling on reads</li> -<li>isReadSuspended() : tells if the session is not allowed to read messsages</li> -<li>isScheduledForFlush() : tells if the session has pending messages that are to be written</li> -<li>isSecured() : tells if teh TLS layer is active and initialized</li> -<li>isServer() : tells if the session is on the server side</li> -<li>isWriteIdle() : tells if the session is idling on writes</li> -<li>isWriteSuspended() : tells if the session is not allowed to write messsages</li> +<li><em>isActive()</em> : tells if the session is valid (it might mean different things depending on the implementation)</li> +<li><em>isBothIdle()</em> : tells if the session is idling on reads and writes</li> +<li><em>isClosing()</em> : tells if the session is already being closed</li> +<li><em>isConnected()</em> : tells if the session is active (ie, not in the closing mode)</li> +<li><em>isIdle( idling status )</em> : tells if the session is idling on a specific state (read or write)</li> +<li><em>isReadIdle()</em> : tells if the session is idling on reads</li> +<li><em>isReadSuspended()</em> : tells if the session is not allowed to read messsages</li> +<li><em>isScheduledForFlush()</em> : tells if the session has pending messages that are to be written</li> +<li><em>isSecured()</em> : tells if teh TLS layer is active and initialized</li> +<li><em>isServer()</em> : tells if the session is on the server side</li> +<li><em>isWriteIdle()</em> : tells if the session is idling on writes</li> +<li><em>isWriteSuspended()</em> : tells if the session is not allowed to write messsages</li> </ul> <h2 id="opening-a-session">Opening a session</h2> <p>Actually, there is nothing you have to do : it’s automatic ! Every time a remote peer connect to a server, the server will create a new connection. On the client side, every time you connect to a server, a session will be created.</p> @@ -211,8 +211,8 @@ session <span style="color:#666">=</span> connectionFuture<span style="color:#66 session <span style="color:#666">=</span> connector<span style="color:#666">.</span><span style="color:#b44">connect</span><span style="color:#666">(</span>address<span style="color:#666">)</span><span style="color:#666">.</span><span style="color:#b44">getSession</span><span style="color:#666">(</span><span style="color:#666">)</span><span style="color:#666">;</span> <span style="color:#666">.</span><span style="color:#666">.</span><span style="color:#666">.</span> </code></pre></div><h2 id="initialization">Initialization</h2> -<p>When a new session is created, it has to be initialized. This is done using the default IoService configuration, but 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> +<p>When a new session is created, it has to be initialized. This is done using the default <em>IoService</em> configuration, but you can update this configuration later on. Actually, when the session is created, we internally create a copy of the default <em>IoService</em> 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 <em>Attributes</em> 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</h2> <p>A session can be closed in 4 ways, two of which are explicit :</p> <ul> @@ -283,17 +283,17 @@ session<span style="color:#666">.</span><span style="color:#b44">setAttribute</s </code></pre></div><h3 id="the-session-attributes-access">The session attributes access</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> +<li><em>boolean containsAttribute(Object key)</em> : tells if a given attribute is present</li> +<li><em>Object getAttribute(Object key)</em> : gets the value for a given attribute</li> +<li><em>Object getAttribute(Object key, Object defaultValue)</em> : gets the value for a given attribute, or a default value if absent</li> +<li><em>Set<Object> getAttributeKeys()</em> : gets the set of all the stored attributes</li> +<li><em>Object removeAttribute(Object key)</em> : remove a given attribute</li> +<li><em>boolean removeAttribute(Object key, Object value)</em> : remove a given attribute/value pair</li> +<li><em>boolean replaceAttribute(Object key, Object oldValue, Object newValue)</em> : replace a give attribute/value pair</li> +<li><em>Object setAttribute(Object key)</em> : adds a new attribute with no value</li> +<li><em>Object setAttribute(Object key, Object value)</em> : adds a new attribute/value pair</li> +<li><em>Object setAttributeIfAbsent(Object key)</em> : adds a new attribute with no value, if it does not already exist</li> +<li><em>Object setAttributeIfAbsent(Object key, Object value)</em> : 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</h2> diff --git a/content/sitemap.xml b/content/sitemap.xml index 900118f25..b6ca38b74 100644 --- a/content/sitemap.xml +++ b/content/sitemap.xml @@ -574,7 +574,7 @@ <url> <loc>https://mina.apache.org/mina-project/userguide/ch4-session/ch4-session.html</loc> - <lastmod>2024-04-28T06:15:39+02:00</lastmod> + <lastmod>2024-09-16T09:40:09+02:00</lastmod> </url> <url> @@ -624,7 +624,7 @@ <url> <loc>https://mina.apache.org/mina-project/documentation.html</loc> - <lastmod>2020-02-27T13:50:48+01:00</lastmod> + <lastmod>2024-09-16T09:40:09+02:00</lastmod> </url> <url> @@ -914,7 +914,7 @@ <url> <loc>https://mina.apache.org/mina-project.html</loc> - <lastmod>2024-04-28T06:15:39+02:00</lastmod> + <lastmod>2024-09-16T09:40:09+02:00</lastmod> </url> <url> @@ -1024,7 +1024,7 @@ <url> <loc>https://mina.apache.org/mina-project/technical-documentation/ssl-tls-internal.html</loc> - <lastmod>2020-02-24T11:41:02+01:00</lastmod> + <lastmod>2024-09-16T09:40:09+02:00</lastmod> </url> <url>