You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by jv...@apache.org on 2012/02/13 10:18:01 UTC
svn commit: r1243450 - in /mina/trunk/core/src:
main/java/org/apache/mina/session/AbstractIoSession.java
test/java/org/apache/mina/session/AbstractIoSessionTest.java
Author: jvermillard
Date: Mon Feb 13 09:18:00 2012
New Revision: 1243450
URL: http://svn.apache.org/viewvc?rev=1243450&view=rev
Log:
DIRMINA-850 saving last read time and the number of byte read, first step for managing idle
Modified:
mina/trunk/core/src/main/java/org/apache/mina/session/AbstractIoSession.java
mina/trunk/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/session/AbstractIoSession.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/session/AbstractIoSession.java?rev=1243450&r1=1243449&r2=1243450&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/session/AbstractIoSession.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/session/AbstractIoSession.java Mon Feb 13 09:18:00 2012
@@ -604,6 +604,10 @@ public abstract class AbstractIoSession
public void processMessageReceived(ByteBuffer message) {
LOG.debug("processing message '{}' received event for session {}", message, this);
+ // save basic statistics
+ readBytes += message.remaining();
+ lastReadTime = System.currentTimeMillis();
+
if (chain.length < 1) {
LOG.debug("Nothing to do, the chain is empty");
} else {
Modified: mina/trunk/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java?rev=1243450&r1=1243449&r2=1243450&view=diff
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java Mon Feb 13 09:18:00 2012
@@ -173,11 +173,16 @@ public class AbstractIoSessionTest {
@Test
public void chain_reads() {
DummySession session = new DummySession(service);
- ByteBuffer buffer = mock(ByteBuffer.class);
+ ByteBuffer buffer = ByteBuffer.allocate(1024);
+
+ long before = System.currentTimeMillis();
session.processMessageReceived(buffer);
verify(filter1).messageReceived(eq(session), eq(buffer), any(ReadFilterChainController.class));
verify(filter2).messageReceived(eq(session), eq(buffer), any(ReadFilterChainController.class));
verify(filter3).messageReceived(eq(session), eq(buffer), any(ReadFilterChainController.class));
+ assertEquals(1024L, session.getReadBytes());
+ long lastRead = session.getLastReadTime();
+ assertTrue(lastRead - before < 100);
}
@Test