01 package net.sf.jbaobab.tutorial;
02
03 import net.sf.jbaobab.io.ChannelCore;
04 import net.sf.jbaobab.io.PacketHandler;
05
06 import org.apache.log4j.Logger;
07
08 /**
09 * <p>
10 * A {@link net.sf.jbaobab.io.PacketHandler} that repeats incoming
11 * {@link java.lang.String} packet.
12 * </p>
13 *
14 * @see StartUp
15 * @author Oakyoon Cha
16 */
17 public class EchoHandler
18 implements PacketHandler<String> {
19 private final Logger logger = Logger.getLogger(this.getClass());
20
21 public void connected(ChannelCore<String> core) {
22 logger.info(core.track() + " <> connected");
23 core.schedulePacket("Welcome to Echo Server");
24 core.schedulePacket("Powered by " + getClass().getCanonicalName());
25 }
26
27 public void disconnected(ChannelCore<String> core) {
28 logger.info(core.track() + " <> disconnected");
29 }
30
31 public void packetReceived(ChannelCore<String> core, String string) {
32 logger.info(core.track() + " >> {" + string + '}');
33 core.schedulePacket(string);
34 logger.info(core.track() + " << {" + string + '}');
35 }
36
37 }
|