EMMA Coverage Report (generated Mon Jul 11 13:15:38 KST 2005)
[all classes][org.apache.mina.io.datagram]

COVERAGE SUMMARY FOR SOURCE FILE [DatagramSessionManagerFilterChain.java]

nameclass, %method, %block, %line, %
DatagramSessionManagerFilterChain.java100% (1/1)100% (2/2)88%  (36/41)95%  (11.4/12)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class DatagramSessionManagerFilterChain100% (1/1)100% (2/2)88%  (36/41)95%  (11.4/12)
doWrite (IoSession, ByteBuffer, Object): void 100% (1/1)86%  (32/37)94%  (9.4/10)
DatagramSessionManagerFilterChain (DatagramSessionManager): void 100% (1/1)100% (4/4)100% (2/2)

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

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