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