You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/12/21 06:11:58 UTC

svn commit: r606098 - in /mina/trunk/core/src/main/java/org/apache/mina/common: AbstractIoService.java IoService.java

Author: trustin
Date: Thu Dec 20 21:11:58 2007
New Revision: 606098

URL: http://svn.apache.org/viewvc?rev=606098&view=rev
Log:
Added the getters for the maximum of all throughput values to IoService

Modified:
    mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoService.java
    mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java

Modified: mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoService.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoService.java?rev=606098&r1=606097&r2=606098&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoService.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoService.java Thu Dec 20 21:11:58 2007
@@ -101,6 +101,10 @@
     private double writtenBytesThroughput;
     private double readMessagesThroughput;
     private double writtenMessagesThroughput;
+    private double largestReadBytesThroughput;
+    private double largestWrittenBytesThroughput;
+    private double largestReadMessagesThroughput;
+    private double largestWrittenMessagesThroughput;
 
     private final Object idlenessCheckLock = new Object();
     private int idleTimeForRead;
@@ -328,6 +332,22 @@
         return writtenMessagesThroughput;
     }
     
+    public final double getLargestReadBytesThroughput() {
+        return largestReadBytesThroughput;
+    }
+    
+    public final double getLargestWrittenBytesThroughput() {
+        return largestWrittenBytesThroughput;
+    }
+    
+    public final double getLargestReadMessagesThroughput() {
+        return largestReadMessagesThroughput;
+    }
+    
+    public final double getLargestWrittenMessagesThroughput() {
+        return largestWrittenMessagesThroughput;
+    }
+    
     private void resetThroughput() {
         if (getManagedSessionCount() == 0) {
             readBytesThroughput = 0;
@@ -355,6 +375,19 @@
             readMessagesThroughput = (readMessages - lastReadMessages) * 1000.0 / interval;
             writtenMessagesThroughput = (writtenMessages - lastWrittenMessages) * 1000.0 / interval;
             
+            if (readBytesThroughput > largestReadBytesThroughput) {
+                largestReadBytesThroughput = readBytesThroughput;
+            }
+            if (writtenBytesThroughput > largestWrittenBytesThroughput) {
+                largestWrittenBytesThroughput = writtenBytesThroughput;
+            }
+            if (readMessagesThroughput > largestReadMessagesThroughput) {
+                largestReadMessagesThroughput = readMessagesThroughput;
+            }
+            if (writtenMessagesThroughput > largestWrittenMessagesThroughput) {
+                largestWrittenMessagesThroughput = writtenMessagesThroughput;
+            }
+           
             lastReadBytes = readBytes;
             lastWrittenBytes = writtenBytes;
             lastReadMessages = readMessages;

Modified: mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java?rev=606098&r1=606097&r2=606098&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java Thu Dec 20 21:11:58 2007
@@ -367,6 +367,26 @@
     double getWrittenMessagesThroughput();
     
     /**
+     * Returns the maximum of the {@link #getReadBytesThroughput() readBytesThroughput}.
+     */
+    double getLargestReadBytesThroughput();
+    
+    /**
+     * Returns the maximum of the {@link #getWrittenBytesThroughput() writtenBytesThroughput}.
+     */
+    double getLargestWrittenBytesThroughput();
+    
+    /**
+     * Returns the maximum of the {@link #getReadMessagesThroughput() readMessagesThroughput}.
+     */
+    double getLargestReadMessagesThroughput();
+    
+    /**
+     * Returns the maximum of the {@link #getWrittenMessagesThroughput() writtenMessagesThroughput}.
+     */
+    double getLargestWrittenMessagesThroughput();
+
+    /**
      * Returns the interval (seconds) between each throughput calculation.
      * The default value is <tt>3</tt> seconds.
      */