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

COVERAGE SUMMARY FOR SOURCE FILE [EchoProtocolHandler.java]

nameclass, %method, %block, %line, %
EchoProtocolHandler.java100% (1/1)67%  (4/6)70%  (44/63)74%  (11.9/16)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class EchoProtocolHandler100% (1/1)67%  (4/6)70%  (44/63)74%  (11.9/16)
exceptionCaught (IoSession, Throwable): void 0%   (0/1)0%   (0/3)0%   (0/2)
sessionIdle (IoSession, IdleStatus): void 0%   (0/1)0%   (0/15)0%   (0/2)
<static initializer> 100% (1/1)91%  (10/11)91%  (0.9/1)
EchoProtocolHandler (): void 100% (1/1)100% (3/3)100% (1/1)
dataRead (IoSession, ByteBuffer): void 100% (1/1)100% (16/16)100% (5/5)
sessionCreated (IoSession): void 100% (1/1)100% (15/15)100% (5/5)

1/*
2 *   @(#) $Id: EchoProtocolHandler.java 357871 2005-12-20 01:56:40Z trustin $
3 *
4 *   Copyright 2004 The Apache Software Foundation
5 *
6 *   Licensed under the Apache License, Version 2.0 (the "License");
7 *   you may not use this file except in compliance with the License.
8 *   You may obtain a copy of the License at
9 *
10 *       http://www.apache.org/licenses/LICENSE-2.0
11 *
12 *   Unless required by applicable law or agreed to in writing, software
13 *   distributed under the License is distributed on an "AS IS" BASIS,
14 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 *   See the License for the specific language governing permissions and
16 *   limitations under the License.
17 *
18 */
19package org.apache.mina.examples.echoserver;
20 
21import org.apache.mina.common.ByteBuffer;
22import org.apache.mina.common.IdleStatus;
23import org.apache.mina.common.SessionConfig;
24import org.apache.mina.io.IoHandler;
25import org.apache.mina.io.IoHandlerAdapter;
26import org.apache.mina.io.IoSession;
27import org.apache.mina.io.socket.SocketSessionConfig;
28import org.slf4j.Logger;
29import org.slf4j.LoggerFactory;
30 
31/**
32 * {@link IoHandler} implementation for echo server. 
33 * 
34 * @author The Apache Directory Project (dev@directory.apache.org)
35 * @version $Rev: 357871 $, $Date: 2005-12-20 10:56:40 +0900 (Tue, 20 Dec 2005) $,
36 */
37public class EchoProtocolHandler extends IoHandlerAdapter
38{
39    private static final Logger log = LoggerFactory.getLogger( EchoProtocolHandler.class );
40 
41    public void sessionCreated( IoSession session )
42    {
43        SessionConfig cfg = session.getConfig();
44        if( cfg instanceof SocketSessionConfig )
45        {
46            ( ( SocketSessionConfig ) cfg ).setSessionReceiveBufferSize( 2048 );
47        }
48        
49        cfg.setIdleTime( IdleStatus.BOTH_IDLE, 10 );
50    }
51 
52    public void sessionIdle( IoSession session, IdleStatus status )
53    {
54        log.info(
55                "*** IDLE #" +
56                session.getIdleCount( IdleStatus.BOTH_IDLE ) +
57                " ***" );
58    }
59 
60    public void exceptionCaught( IoSession session, Throwable cause )
61    {
62        session.close();
63    }
64 
65    public void dataRead( IoSession session, ByteBuffer rb )
66    {
67        // Write the received data back to remote peer
68        ByteBuffer wb = ByteBuffer.allocate( rb.remaining() );
69        wb.put( rb );
70        wb.flip();
71        session.write( wb, null );
72    }
73}

[all classes][org.apache.mina.examples.echoserver]
EMMA 2.0.4217 (C) Vladimir Roubtsov