You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by jv...@apache.org on 2006/09/08 12:11:02 UTC

svn commit: r441462 - in /directory/trunks/mina/core/src/main/java/org/apache/mina/management: IoSessionStat.java StatCollector.java

Author: jvermillard
Date: Fri Sep  8 03:11:01 2006
New Revision: 441462

URL: http://svn.apache.org/viewvc?view=rev&rev=441462
Log:
 * more javadoc
 * remove all the IoSessionStat from the sessions when the collector is shutdowned

Modified:
    directory/trunks/mina/core/src/main/java/org/apache/mina/management/IoSessionStat.java
    directory/trunks/mina/core/src/main/java/org/apache/mina/management/StatCollector.java

Modified: directory/trunks/mina/core/src/main/java/org/apache/mina/management/IoSessionStat.java
URL: http://svn.apache.org/viewvc/directory/trunks/mina/core/src/main/java/org/apache/mina/management/IoSessionStat.java?view=diff&rev=441462&r1=441461&r2=441462
==============================================================================
--- directory/trunks/mina/core/src/main/java/org/apache/mina/management/IoSessionStat.java (original)
+++ directory/trunks/mina/core/src/main/java/org/apache/mina/management/IoSessionStat.java Fri Sep  8 03:11:01 2006
@@ -21,7 +21,12 @@
 
 /**
  * The collected stats for a session. It's used by {@link StatCollector} to attach
- * throughput stats to an {@link IoSession}.
+ * throughput stats to an {@link IoSession}. You can accces a session stat using 
+ * {@link IoSession} getAttribute method :
+ * <pre>
+ * IoSession session = ...
+ * IoSessionStat stat = session.getAttribute( StatCollector.KEY );
+ * </pre>
  * 
  * @author The Apache Directory Project (mina-dev@directory.apache.org)
  * @version $Rev$, $Date$

Modified: directory/trunks/mina/core/src/main/java/org/apache/mina/management/StatCollector.java
URL: http://svn.apache.org/viewvc/directory/trunks/mina/core/src/main/java/org/apache/mina/management/StatCollector.java?view=diff&rev=441462&r1=441461&r2=441462
==============================================================================
--- directory/trunks/mina/core/src/main/java/org/apache/mina/management/StatCollector.java (original)
+++ directory/trunks/mina/core/src/main/java/org/apache/mina/management/StatCollector.java Fri Sep  8 03:11:01 2006
@@ -37,6 +37,16 @@
  * IoService. It's attaching a {@link IoSessionStat} object to all the sessions polled
  * and filling the throughput values.
  * 
+ * Usage :
+ * <pre>
+ * IoService service = ...
+ * StatCollector collector = new StatCollector( service );
+ * collector.start();
+ * </pre>
+ * 
+ * By default the {@link Statcollector} is polling the sessions every 5 seconds. You can 
+ * give a different polling time using a second constructor.
+ * 
  * @author The Apache Directory Project (mina-dev@directory.apache.org)
  * @version $Rev$, $Date$
  */
@@ -83,7 +93,7 @@
     };
 
     /**
-     * create a stat collector for the given given service with the default polling time 
+     * Create a stat collector for the given service with a default polling time of 5 seconds. 
      * @param service the IoService to inspect
      */
     public StatCollector( IoService service )
@@ -104,7 +114,8 @@
     }
 
     /**
-     * start collecting stats
+     * Start collecting stats for the {@link IoSession} of the service.
+     * New sessions or destroyed will be automaticly added or removed.
      */
     public void start()
     {
@@ -140,7 +151,8 @@
     }
 
     /**
-     * stop collecting stats
+     * Stop collecting stats. all the {@link IoSessionStat} object will be removed of the
+     * polled session attachements. 
      */
     public void stop()
     {
@@ -163,12 +175,16 @@
                 }
             }
 
+            for (Iterator iter = polledSessions.iterator(); iter.hasNext();) {
+                IoSession session = (IoSession) iter.next();
+                session.removeAttribute(KEY);
+            }
             polledSessions.clear();
         }
     }
 
     /**
-     * is the stat collector collecting
+     * is the stat collector started and polling the {@link IoSession} of the {@link IoService}
      * @return true if started
      */
     public boolean isRunning()