1 | /* |
2 | * @(#) $Id: VmPipeFilter.java 357871 2005-12-20 01:56:40Z trustin $ |
3 | */ |
4 | package org.apache.mina.protocol.vmpipe; |
5 | |
6 | import org.apache.mina.common.IdleStatus; |
7 | import org.apache.mina.protocol.ProtocolFilterAdapter; |
8 | import org.apache.mina.protocol.ProtocolSession; |
9 | |
10 | /** |
11 | * Sets last(Read|Write)Time for {@link VmPipeSession}s. |
12 | * |
13 | * @author The Apache Directory Project (dev@directory.apache.org) |
14 | * @version $Rev: 357871 $, $Date: 2005-12-20 10:56:40 +0900 (Tue, 20 Dec 2005) $ |
15 | */ |
16 | class VmPipeFilter extends ProtocolFilterAdapter |
17 | { |
18 | public void messageReceived( NextFilter nextFilter, |
19 | ProtocolSession session, Object message ) |
20 | { |
21 | VmPipeSession vps = ( VmPipeSession ) session; |
22 | |
23 | vps.resetIdleCount( IdleStatus.BOTH_IDLE ); |
24 | vps.resetIdleCount( IdleStatus.READER_IDLE ); |
25 | vps.increaseReadBytes( 1 ); |
26 | |
27 | // fire messageSent event first |
28 | vps.remoteSession.getManagerFilterChain().messageSent( vps.remoteSession, message ); |
29 | |
30 | // and then messageReceived |
31 | nextFilter.messageReceived( session, message ); |
32 | } |
33 | |
34 | public void messageSent( NextFilter nextFilter, |
35 | ProtocolSession session, Object message ) |
36 | { |
37 | VmPipeSession vps = ( VmPipeSession ) session; |
38 | vps.resetIdleCount( IdleStatus.BOTH_IDLE ); |
39 | vps.resetIdleCount( IdleStatus.WRITER_IDLE ); |
40 | vps.increaseWrittenBytes( 1 ); |
41 | vps.increaseWrittenWriteRequests(); |
42 | |
43 | nextFilter.messageSent( session, message ); |
44 | } |
45 | } |