Author: elecharny
Date: Thu Jul 17 06:27:07 2008
New Revision: 677580
URL: http://svn.apache.org/viewvc?rev=677580&view=rev
Log:
Applied patch for DIRMINA-608 provided by Barend
Added:
mina/trunk/core/src/main/java/org/apache/mina/core/service/IoServiceIdleState.java
mina/trunk/core/src/main/java/org/apache/mina/core/service/IoServiceStatistics.java
Modified:
mina/trunk/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
mina/trunk/core/src/main/java/org/apache/mina/core/service/IoService.java
Modified:
mina/trunk/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java?rev=677580&r1=677579&r2=677580&view=diff
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
Thu Jul 17 06:27:07 2008
@@ -61,7 +61,7 @@
* @author The Apache MINA Project ([EMAIL PROTECTED])
* @version $Rev$, $Date$
*/
-public abstract class AbstractIoService implements IoService {
+public abstract class AbstractIoService implements IoService,
IoServiceStatistics, IoServiceIdleState {
/**
* The unique number identifying the Service. It's incremented
* for each new IoService created.
@@ -433,6 +433,20 @@
/**
* [EMAIL PROTECTED]
*/
+ public IoServiceIdleState getIdleState() {
+ return this;
+ }
+
+ /**
+ * [EMAIL PROTECTED]
+ */
+ public IoServiceStatistics getStatistics() {
+ return this;
+ }
+
+ /**
+ * [EMAIL PROTECTED]
+ */
public final long getReadBytes() {
return readBytes.get();
}
Modified:
mina/trunk/core/src/main/java/org/apache/mina/core/service/IoService.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/service/IoService.java?rev=677580&r1=677579&r2=677580&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/core/service/IoService.java
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/core/service/IoService.java
Thu Jul 17 06:27:07 2008
@@ -28,7 +28,6 @@
import org.apache.mina.core.filterchain.IoFilterChain;
import org.apache.mina.core.filterchain.IoFilterChainBuilder;
import org.apache.mina.core.future.WriteFuture;
-import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.session.IoSession;
import org.apache.mina.core.session.IoSessionConfig;
import org.apache.mina.core.session.IoSessionDataStructureFactory;
@@ -104,19 +103,6 @@
int getManagedSessionCount();
/**
- * Returns the maximum number of sessions which were being managed at the
- * 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'.
- */
- long getCumulativeManagedSessionCount();
-
- /**
* Returns the default configuration of the new [EMAIL PROTECTED]
IoSession}s
* created by this service.
*/
@@ -169,253 +155,23 @@
long getActivationTime();
/**
- * Returns the time in millis when I/O occurred lastly.
- */
- long getLastIoTime();
-
- /**
- * Returns the time in millis when read operation occurred lastly.
- */
- long getLastReadTime();
-
- /**
- * Returns the time in millis when write operation occurred lastly.
- */
- long getLastWriteTime();
-
- /**
- * Returns <code>true</code> if this service is idle for the specified
- * [EMAIL PROTECTED] IdleStatus}.
- */
- boolean isIdle(IdleStatus status);
-
- /**
- * Returns <code>true</code> if this service is [EMAIL PROTECTED]
IdleStatus#READER_IDLE}.
- * @see #isIdle(IdleStatus)
- */
- boolean isReaderIdle();
-
- /**
- * Returns <code>true</code> if this service is [EMAIL PROTECTED]
IdleStatus#WRITER_IDLE}.
- * @see #isIdle(IdleStatus)
- */
- boolean isWriterIdle();
-
- /**
- * Returns <code>true</code> if this service is [EMAIL PROTECTED]
IdleStatus#BOTH_IDLE}.
- * @see #isIdle(IdleStatus)
- */
- boolean isBothIdle();
-
- /**
- * Returns the number of the fired continuous <tt>serviceIdle</tt> events
- * for the specified [EMAIL PROTECTED] IdleStatus}.
- * <p/>
- * If <tt>serviceIdle</tt> event is fired first after some time after I/O,
- * <tt>idleCount</tt> becomes <tt>1</tt>. <tt>idleCount</tt> resets to
- * <tt>0</tt> if any I/O occurs again, otherwise it increases to
- * <tt>2</tt> and so on if <tt>serviceIdle</tt> event is fired again
without
- * any I/O between two (or more) <tt>serviceIdle</tt> events.
- */
- int getIdleCount(IdleStatus status);
-
- /**
- * Returns the number of the fired continuous <tt>serviceIdle</tt> events
- * for [EMAIL PROTECTED] IdleStatus#READER_IDLE}.
- * @see #getIdleCount(IdleStatus)
- */
- int getReaderIdleCount();
-
- /**
- * Returns the number of the fired continuous <tt>serviceIdle</tt> events
- * for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE}.
- * @see #getIdleCount(IdleStatus)
- */
- int getWriterIdleCount();
-
- /**
- * Returns the number of the fired continuous <tt>serviceIdle</tt> events
- * for [EMAIL PROTECTED] IdleStatus#BOTH_IDLE}.
- * @see #getIdleCount(IdleStatus)
- */
- int getBothIdleCount();
-
- /**
- * Returns the time in milliseconds when the last <tt>serviceIdle</tt>
event
- * is fired for the specified [EMAIL PROTECTED] IdleStatus}.
- */
- long getLastIdleTime(IdleStatus status);
-
- /**
- * Returns the time in milliseconds when the last <tt>serviceIdle</tt>
event
- * is fired for [EMAIL PROTECTED] IdleStatus#READER_IDLE}.
- * @see #getLastIdleTime(IdleStatus)
- */
- long getLastReaderIdleTime();
-
- /**
- * Returns the time in milliseconds when the last <tt>serviceIdle</tt>
event
- * is fired for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE}.
- * @see #getLastIdleTime(IdleStatus)
- */
- long getLastWriterIdleTime();
-
- /**
- * Returns the time in milliseconds when the last <tt>serviceIdle</tt>
event
- * is fired for [EMAIL PROTECTED] IdleStatus#BOTH_IDLE}.
- * @see #getLastIdleTime(IdleStatus)
- */
- long getLastBothIdleTime();
-
- /**
- * Returns idle time for the specified type of idleness in seconds.
- */
- int getIdleTime(IdleStatus status);
-
- /**
- * Returns idle time for the specified type of idleness in milliseconds.
- */
- long getIdleTimeInMillis(IdleStatus status);
-
- /**
- * Sets idle time for the specified type of idleness in seconds.
- */
- void setIdleTime(IdleStatus status, int idleTime);
-
- /**
- * Returns idle time for [EMAIL PROTECTED] IdleStatus#READER_IDLE} in
seconds.
- */
- int getReaderIdleTime();
-
- /**
- * Returns idle time for [EMAIL PROTECTED] IdleStatus#READER_IDLE} in
milliseconds.
- */
- long getReaderIdleTimeInMillis();
-
- /**
- * Sets idle time for [EMAIL PROTECTED] IdleStatus#READER_IDLE} in seconds.
- */
- void setReaderIdleTime(int idleTime);
-
- /**
- * Returns idle time for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE} in
seconds.
- */
- int getWriterIdleTime();
-
- /**
- * Returns idle time for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE} in
milliseconds.
- */
- long getWriterIdleTimeInMillis();
-
- /**
- * Sets idle time for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE} in seconds.
- */
- void setWriterIdleTime(int idleTime);
-
- /**
- * Returns idle time for [EMAIL PROTECTED] IdleStatus#BOTH_IDLE} in
seconds.
- */
- int getBothIdleTime();
-
- /**
- * Returns idle time for [EMAIL PROTECTED] IdleStatus#BOTH_IDLE} in
milliseconds.
- */
- long getBothIdleTimeInMillis();
-
- /**
- * Sets idle time for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE} in seconds.
- */
- void setBothIdleTime(int idleTime);
-
- /**
- * Returns the number of bytes read by this service
- *
- * @return
- * The number of bytes this service has read
- */
- long getReadBytes();
-
- /**
- * Returns the number of bytes written out by this service
- *
- * @return
- * The number of bytes this service has written
- */
- long getWrittenBytes();
-
- /**
- * Returns the number of messages this services has read
- *
- * @return
- * The number of messages this services has read
- */
- long getReadMessages();
-
- /**
- * Returns the number of messages this service has written
- *
- * @return
- * The number of messages this service has written
- */
- long getWrittenMessages();
-
- /**
- * Returns the number of read bytes per second.
- */
- double getReadBytesThroughput();
-
- /**
- * Returns the number of written bytes per second.
- */
- double getWrittenBytesThroughput();
-
- /**
- * Returns the number of read messages per second.
- */
- double getReadMessagesThroughput();
-
- /**
- * Returns the number of written messages per second.
- */
- double getWrittenMessagesThroughput();
-
- /**
- * Returns the maximum of the [EMAIL PROTECTED] #getReadBytesThroughput()
readBytesThroughput}.
- */
- double getLargestReadBytesThroughput();
-
- /**
- * Returns the maximum of the [EMAIL PROTECTED]
#getWrittenBytesThroughput() writtenBytesThroughput}.
- */
- double getLargestWrittenBytesThroughput();
-
- /**
- * Returns the maximum of the [EMAIL PROTECTED]
#getReadMessagesThroughput() readMessagesThroughput}.
- */
- double getLargestReadMessagesThroughput();
-
- /**
- * Returns the maximum of the [EMAIL PROTECTED]
#getWrittenMessagesThroughput() writtenMessagesThroughput}.
- */
- double getLargestWrittenMessagesThroughput();
-
- /**
- * Returns the interval (seconds) between each throughput calculation.
- * The default value is <tt>3</tt> seconds.
+ * Writes the specified [EMAIL PROTECTED] message} to all the [EMAIL
PROTECTED] IoSession}s
+ * managed by this service. This method is a convenience shortcut for
+ * [EMAIL PROTECTED] IoUtil#broadcast(Object, Collection)}.
*/
- int getThroughputCalculationInterval();
+ Set<WriteFuture> broadcast(Object message);
/**
- * Returns the interval (milliseconds) between each throughput calculation.
- * The default value is <tt>3</tt> seconds.
+ * Returns the [EMAIL PROTECTED] IoSessionDataStructureFactory} that
provides
+ * related data structures for a new session created by this service.
*/
- long getThroughputCalculationIntervalInMillis();
+ IoSessionDataStructureFactory getSessionDataStructureFactory();
/**
- * Sets the interval (seconds) between each throughput calculation. The
- * default value is <tt>3</tt> seconds.
+ * Sets the [EMAIL PROTECTED] IoSessionDataStructureFactory} that provides
+ * related data structures for a new session created by this service.
*/
- void setThroughputCalculationInterval(int throughputCalculationInterval);
+ void setSessionDataStructureFactory(IoSessionDataStructureFactory
sessionDataStructureFactory);
/**
* Returns the number of bytes scheduled to be written
@@ -434,21 +190,16 @@
int getScheduledWriteMessages();
/**
- * Writes the specified [EMAIL PROTECTED] message} to all the [EMAIL
PROTECTED] IoSession}s
- * managed by this service. This method is a convenience shortcut for
- * [EMAIL PROTECTED] IoUtil#broadcast(Object, Collection)}.
+ * Returns the IoServiceIdleState for this service.
+ *
+ * @return The idle state object for this service.
*/
- Set<WriteFuture> broadcast(Object message);
+ IoServiceIdleState getIdleState();
/**
- * Returns the [EMAIL PROTECTED] IoSessionDataStructureFactory} that
provides
- * related data structures for a new session created by this service.
+ * Returns the IoServiceStatistics object for this service.
+ *
+ * @return The statistics object for this service.
*/
- IoSessionDataStructureFactory getSessionDataStructureFactory();
-
- /**
- * Sets the [EMAIL PROTECTED] IoSessionDataStructureFactory} that provides
- * related data structures for a new session created by this service.
- */
- void setSessionDataStructureFactory(IoSessionDataStructureFactory
sessionDataStructureFactory);
+ IoServiceStatistics getStatistics();
}
Added:
mina/trunk/core/src/main/java/org/apache/mina/core/service/IoServiceIdleState.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/service/IoServiceIdleState.java?rev=677580&view=auto
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/core/service/IoServiceIdleState.java
(added)
+++
mina/trunk/core/src/main/java/org/apache/mina/core/service/IoServiceIdleState.java
Thu Jul 17 06:27:07 2008
@@ -0,0 +1,175 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.mina.core.service;
+
+import org.apache.mina.core.session.IdleStatus;
+
+/**
+ * Gives access to the idle state information for an IoService.
+ *
+ * @author The Apache MINA Project ([EMAIL PROTECTED])
+ * @since 2.0-M3
+ */
+public interface IoServiceIdleState {
+
+ /**
+ * Returns <code>true</code> if this service is idle for the specified
+ * [EMAIL PROTECTED] IdleStatus}.
+ */
+ boolean isIdle(IdleStatus status);
+
+ /**
+ * Returns <code>true</code> if this service is [EMAIL PROTECTED]
IdleStatus#READER_IDLE}.
+ * @see #isIdle(IdleStatus)
+ */
+ boolean isReaderIdle();
+
+ /**
+ * Returns <code>true</code> if this service is [EMAIL PROTECTED]
IdleStatus#WRITER_IDLE}.
+ * @see #isIdle(IdleStatus)
+ */
+ boolean isWriterIdle();
+
+ /**
+ * Returns <code>true</code> if this service is [EMAIL PROTECTED]
IdleStatus#BOTH_IDLE}.
+ * @see #isIdle(IdleStatus)
+ */
+ boolean isBothIdle();
+
+ /**
+ * Returns the number of the fired continuous <tt>serviceIdle</tt> events
+ * for the specified [EMAIL PROTECTED] IdleStatus}.
+ * <p/>
+ * If <tt>serviceIdle</tt> event is fired first after some time after I/O,
+ * <tt>idleCount</tt> becomes <tt>1</tt>. <tt>idleCount</tt> resets to
+ * <tt>0</tt> if any I/O occurs again, otherwise it increases to
+ * <tt>2</tt> and so on if <tt>serviceIdle</tt> event is fired again
without
+ * any I/O between two (or more) <tt>serviceIdle</tt> events.
+ */
+ int getIdleCount(IdleStatus status);
+
+ /**
+ * Returns the number of the fired continuous <tt>serviceIdle</tt> events
+ * for [EMAIL PROTECTED] IdleStatus#READER_IDLE}.
+ * @see #getIdleCount(IdleStatus)
+ */
+ int getReaderIdleCount();
+
+ /**
+ * Returns the number of the fired continuous <tt>serviceIdle</tt> events
+ * for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE}.
+ * @see #getIdleCount(IdleStatus)
+ */
+ int getWriterIdleCount();
+
+ /**
+ * Returns the number of the fired continuous <tt>serviceIdle</tt> events
+ * for [EMAIL PROTECTED] IdleStatus#BOTH_IDLE}.
+ * @see #getIdleCount(IdleStatus)
+ */
+ int getBothIdleCount();
+
+ /**
+ * Returns the time in milliseconds when the last <tt>serviceIdle</tt>
event
+ * is fired for the specified [EMAIL PROTECTED] IdleStatus}.
+ */
+ long getLastIdleTime(IdleStatus status);
+
+ /**
+ * Returns the time in milliseconds when the last <tt>serviceIdle</tt>
event
+ * is fired for [EMAIL PROTECTED] IdleStatus#READER_IDLE}.
+ * @see #getLastIdleTime(IdleStatus)
+ */
+ long getLastReaderIdleTime();
+
+ /**
+ * Returns the time in milliseconds when the last <tt>serviceIdle</tt>
event
+ * is fired for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE}.
+ * @see #getLastIdleTime(IdleStatus)
+ */
+ long getLastWriterIdleTime();
+
+ /**
+ * Returns the time in milliseconds when the last <tt>serviceIdle</tt>
event
+ * is fired for [EMAIL PROTECTED] IdleStatus#BOTH_IDLE}.
+ * @see #getLastIdleTime(IdleStatus)
+ */
+ long getLastBothIdleTime();
+
+ /**
+ * Returns idle time for the specified type of idleness in seconds.
+ */
+ int getIdleTime(IdleStatus status);
+
+ /**
+ * Returns idle time for the specified type of idleness in milliseconds.
+ */
+ long getIdleTimeInMillis(IdleStatus status);
+
+ /**
+ * Sets idle time for the specified type of idleness in seconds.
+ */
+ void setIdleTime(IdleStatus status, int idleTime);
+
+ /**
+ * Returns idle time for [EMAIL PROTECTED] IdleStatus#READER_IDLE} in
seconds.
+ */
+ int getReaderIdleTime();
+
+ /**
+ * Returns idle time for [EMAIL PROTECTED] IdleStatus#READER_IDLE} in
milliseconds.
+ */
+ long getReaderIdleTimeInMillis();
+
+ /**
+ * Sets idle time for [EMAIL PROTECTED] IdleStatus#READER_IDLE} in seconds.
+ */
+ void setReaderIdleTime(int idleTime);
+
+ /**
+ * Returns idle time for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE} in
seconds.
+ */
+ int getWriterIdleTime();
+
+ /**
+ * Returns idle time for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE} in
milliseconds.
+ */
+ long getWriterIdleTimeInMillis();
+
+ /**
+ * Sets idle time for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE} in seconds.
+ */
+ void setWriterIdleTime(int idleTime);
+
+ /**
+ * Returns idle time for [EMAIL PROTECTED] IdleStatus#BOTH_IDLE} in
seconds.
+ */
+ int getBothIdleTime();
+
+ /**
+ * Returns idle time for [EMAIL PROTECTED] IdleStatus#BOTH_IDLE} in
milliseconds.
+ */
+ long getBothIdleTimeInMillis();
+
+ /**
+ * Sets idle time for [EMAIL PROTECTED] IdleStatus#WRITER_IDLE} in seconds.
+ */
+ void setBothIdleTime(int idleTime);
+}
\ No newline at end of file
Added:
mina/trunk/core/src/main/java/org/apache/mina/core/service/IoServiceStatistics.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/service/IoServiceStatistics.java?rev=677580&view=auto
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/core/service/IoServiceStatistics.java
(added)
+++
mina/trunk/core/src/main/java/org/apache/mina/core/service/IoServiceStatistics.java
Thu Jul 17 06:27:07 2008
@@ -0,0 +1,145 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.mina.core.service;
+
+/**
+ * Provides usage statistics for an IoService.
+ *
+ * @author The Apache MINA Project ([EMAIL PROTECTED])
+ */
+public interface IoServiceStatistics {
+ /**
+ * Returns the maximum number of sessions which were being managed at the
+ * 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'.
+ */
+ long getCumulativeManagedSessionCount();
+
+ /**
+ * Returns the time in millis when I/O occurred lastly.
+ */
+ long getLastIoTime();
+
+ /**
+ * Returns the time in millis when read operation occurred lastly.
+ */
+ long getLastReadTime();
+
+ /**
+ * Returns the time in millis when write operation occurred lastly.
+ */
+ long getLastWriteTime();
+
+ /**
+ * Returns the number of bytes read by this service
+ *
+ * @return
+ * The number of bytes this service has read
+ */
+ long getReadBytes();
+
+ /**
+ * Returns the number of bytes written out by this service
+ *
+ * @return
+ * The number of bytes this service has written
+ */
+ long getWrittenBytes();
+
+ /**
+ * Returns the number of messages this services has read
+ *
+ * @return
+ * The number of messages this services has read
+ */
+ long getReadMessages();
+
+ /**
+ * Returns the number of messages this service has written
+ *
+ * @return
+ * The number of messages this service has written
+ */
+ long getWrittenMessages();
+
+ /**
+ * Returns the number of read bytes per second.
+ */
+ double getReadBytesThroughput();
+
+ /**
+ * Returns the number of written bytes per second.
+ */
+ double getWrittenBytesThroughput();
+
+ /**
+ * Returns the number of read messages per second.
+ */
+ double getReadMessagesThroughput();
+
+ /**
+ * Returns the number of written messages per second.
+ */
+ double getWrittenMessagesThroughput();
+
+ /**
+ * Returns the maximum of the [EMAIL PROTECTED] #getReadBytesThroughput()
readBytesThroughput}.
+ */
+ double getLargestReadBytesThroughput();
+
+ /**
+ * Returns the maximum of the [EMAIL PROTECTED]
#getWrittenBytesThroughput() writtenBytesThroughput}.
+ */
+ double getLargestWrittenBytesThroughput();
+
+ /**
+ * Returns the maximum of the [EMAIL PROTECTED]
#getReadMessagesThroughput() readMessagesThroughput}.
+ */
+ double getLargestReadMessagesThroughput();
+
+ /**
+ * Returns the maximum of the [EMAIL PROTECTED]
#getWrittenMessagesThroughput() writtenMessagesThroughput}.
+ */
+ double getLargestWrittenMessagesThroughput();
+
+ /**
+ * Returns the interval (seconds) between each throughput calculation.
+ * The default value is <tt>3</tt> seconds.
+ */
+ int getThroughputCalculationInterval();
+
+ /**
+ * Returns the interval (milliseconds) between each throughput calculation.
+ * The default value is <tt>3</tt> seconds.
+ */
+ long getThroughputCalculationIntervalInMillis();
+
+ /**
+ * Sets the interval (seconds) between each throughput calculation. The
+ * default value is <tt>3</tt> seconds.
+ */
+ void setThroughputCalculationInterval(int throughputCalculationInterval);
+}