Author: trustin
Date: Thu Nov 15 21:40:19 2007
New Revision: 595561
URL: http://svn.apache.org/viewvc?rev=595561&view=rev
Log:
* Fixed a problem that throughput is not reset when there's no managed session.
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
mina/trunk/core/src/main/java/org/apache/mina/common/IoServiceListenerSupport.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=595561&r1=595560&r2=595561&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 Nov 15 21:40:19 2007
@@ -257,21 +257,34 @@
}
public double getReadBytesThroughput() {
+ resetThroughput();
return readBytesThroughput;
}
public double getWrittenBytesThroughput() {
+ resetThroughput();
return writtenBytesThroughput;
}
public double getReadMessagesThroughput() {
+ resetThroughput();
return readMessagesThroughput;
}
public double getWrittenMessagesThroughput() {
+ resetThroughput();
return writtenMessagesThroughput;
}
+ private void resetThroughput() {
+ if (getManagedSessionCount() == 0) {
+ readBytesThroughput = 0;
+ writtenBytesThroughput = 0;
+ readMessagesThroughput = 0;
+ writtenMessagesThroughput = 0;
+ }
+ }
+
private void updateThroughput(long currentTime) {
synchronized (throughputCalculationLock) {
int interval = (int) (currentTime - lastThroughputCalculationTime);
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=595561&r1=595560&r2=595561&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 Nov
15 21:40:19 2007
@@ -80,16 +80,14 @@
/**
* Returns the maximum number of sessions which were being managed at the
- * same time. This value is reset to <tt>0</tt> when the service is
- * activated.
+ * same time.
*/
int getLargestManagedSessionCount();
/**
* Returns the cumulative number of sessions which were managed (or are
* being managed) by this service, which means 'currently managed session
- * count + closed session count'. This value is reset to <tt>0</tt> when
- * the service is activated.
+ * count + closed session count'.
*/
long getCumulativeManagedSessionCount();
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/IoServiceListenerSupport.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/IoServiceListenerSupport.java?rev=595561&r1=595560&r2=595561&view=diff
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/common/IoServiceListenerSupport.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/common/IoServiceListenerSupport.java
Thu Nov 15 21:40:19 2007
@@ -118,8 +118,6 @@
}
activationTime = System.currentTimeMillis();
- largestManagedSessionCount = 0;
- cumulativeManagedSessionCount = 0;
for (IoServiceListener l : listeners) {
l.serviceActivated(service);