EMMA Coverage Report (generated Tue Dec 20 11:01:01 KST 2005)
[all classes][org.apache.mina.io.socket]

COVERAGE SUMMARY FOR SOURCE FILE [SocketSessionManagerFilterChain.java]

nameclass, %method, %block, %line, %
SocketSessionManagerFilterChain.java100% (1/1)100% (2/2)87%  (34/39)95%  (11.4/12)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SocketSessionManagerFilterChain100% (1/1)100% (2/2)87%  (34/39)95%  (11.4/12)
doWrite (IoSession, ByteBuffer, Object): void 100% (1/1)86%  (30/35)94%  (9.4/10)
SocketSessionManagerFilterChain (IoSessionManager): void 100% (1/1)100% (4/4)100% (2/2)

1package org.apache.mina.io.socket;
2 
3import org.apache.mina.common.ByteBuffer;
4import org.apache.mina.io.IoFilterChain;
5import org.apache.mina.io.IoSession;
6import org.apache.mina.io.IoSessionManager;
7import org.apache.mina.io.IoSessionManagerFilterChain;
8import org.apache.mina.util.Queue;
9 
10/**
11 * An {@link IoFilterChain} for socket transport (TCP/IP).
12 * 
13 * @author The Apache Directory Project
14 */
15class SocketSessionManagerFilterChain extends IoSessionManagerFilterChain {
16 
17    SocketSessionManagerFilterChain( IoSessionManager manager )
18    {
19        super( manager );
20    }
21 
22    protected void doWrite( IoSession session, ByteBuffer buf, Object marker )
23    {
24        SocketSession s = ( SocketSession ) session;
25        Queue writeBufferQueue = s.getWriteBufferQueue();
26        Queue writeMarkerQueue = s.getWriteMarkerQueue();
27        
28        synchronized( writeBufferQueue )
29        {
30            writeBufferQueue.push( buf );
31            writeMarkerQueue.push( marker );
32            if( writeBufferQueue.size() == 1 )
33            {
34                // Notify SocketIoProcessor only when writeBufferQueue was empty.
35                SocketIoProcessor.getInstance().flushSession( s );
36            }
37        }
38    }
39}

[all classes][org.apache.mina.io.socket]
EMMA 2.0.4217 (C) Vladimir Roubtsov