Author: trustin
Date: Mon Mar 17 00:28:10 2008
New Revision: 637767
URL: http://svn.apache.org/viewvc?rev=637767&view=rev
Log:
Fixed a problem that VmPipeSession.writtenBytes is not updated
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeFilterChain.java
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeSessionImpl.java
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeEventOrderTest.java
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeFilterChain.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeFilterChain.java?rev=637767&r1=637766&r2=637767&view=diff
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeFilterChain.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeFilterChain.java
Mon Mar 17 00:28:10 2008
@@ -180,9 +180,15 @@
return;
}
WriteRequest req;
+ long currentTime = System.currentTimeMillis();
while ((req = queue.poll(session)) != null) {
+ Object m = req.getMessage();
session.getRemoteSession().getFilterChain().fireMessageReceived(
- getMessageCopy(req.getMessage()));
+ getMessageCopy(m));
+ if (m instanceof IoBuffer) {
+ session.increaseWrittenBytes0(
+ ((IoBuffer) m).remaining(), currentTime);
+ }
session.getFilterChain().fireMessageSent(req);
}
} finally {
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeSessionImpl.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeSessionImpl.java?rev=637767&r1=637766&r2=637767&view=diff
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeSessionImpl.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeSessionImpl.java
Mon Mar 17 00:28:10 2008
@@ -150,6 +150,10 @@
public VmPipeAddress getServiceAddress() {
return serviceAddress;
}
+
+ void increaseWrittenBytes0(long increment, long currentTime) {
+ super.increaseWrittenBytes(increment, currentTime);
+ }
WriteRequestQueue getWriteRequestQueue0() {
return super.getWriteRequestQueue();
Modified:
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeEventOrderTest.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeEventOrderTest.java?rev=637767&r1=637766&r2=637767&view=diff
==============================================================================
---
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeEventOrderTest.java
(original)
+++
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeEventOrderTest.java
Mon Mar 17 00:28:10 2008
@@ -204,6 +204,7 @@
semaphore.tryAcquire(1, TimeUnit.SECONDS);
vmPipeAcceptor.unbind(vmPipeAddress);
+ Assert.assertEquals(1, connectFuture.getSession().getWrittenBytes());
Assert.assertEquals("ABCD", stringBuffer.toString());
}
}