annotate rep/handler/REPEditorHandler.java @ 316:77f443f6dc9f

add session manager channel handler
author kono
date Tue, 07 Oct 2008 18:15:33 +0900
parents
children 5ba5b7a9761b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
316
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
1 package rep.handler;
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
2
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
3 import java.io.IOException;
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
4
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
5 import rep.REPCommand;
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
6 import rep.SessionManager;
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
7 import rep.channel.REPSelectionKey;
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
8 import rep.channel.REPSocketChannel;
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
9
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
10 public class REPEditorHandler implements REPHandler {
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
11
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
12 private SessionManager manager;
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
13
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
14
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
15 public REPEditorHandler(SessionManager manager) {
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
16 this.manager = manager;
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
17 }
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
18
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
19 public void handle(REPSelectionKey<REPCommand> key) throws IOException {
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
20 REPSocketChannel<REPCommand> channel = key.channel1();
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
21 REPCommand command = channel.read();
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
22 System.out.println("REPHandlerImpl.handle() read : command = " + command +" from "+channel);
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
23
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
24 manager.manage(channel, command);
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
25 }
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
26
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
27 public void cancel(REPSocketChannel<REPCommand> socketChannel) {
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
28 manager.remove(socketChannel);
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
29 }
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
30
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
31
77f443f6dc9f add session manager channel handler
kono
parents:
diff changeset
32 }