annotate rep/SessionList.java @ 0:e41994ce73c7

*** empty log message ***
author pin
date Tue, 13 Feb 2007 04:43:30 +0900
parents
children 3f5bf0255f5e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
1 package rep;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
2
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
3 import java.nio.channels.SocketChannel;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
4 import java.util.Hashtable;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
5 import java.util.LinkedList;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
6 import java.util.List;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
7
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
8 public class SessionList {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
9
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
10 //List<LinkedList<SocketChannel>> sessions = new LinkedList<LinkedList<SocketChannel>>();
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
11 Hashtable<Integer, LinkedList<SocketChannel>> sessions2 = new Hashtable<Integer, LinkedList<SocketChannel>>();
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
12 //Hashtable editors = new Hashtable();
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
13 private int sessionID;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
14
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
15 private int editorCount;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
16
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
17 public void add(SocketChannel channel) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
18
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
19 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
20
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
21 public int getEditorNumber() {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
22 return 0;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
23
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
24 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
25
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
26 public void add(SocketChannel channel, int sid) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
27
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
28 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
29
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
30 public int addSession(SocketChannel channel, String string) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
31 sessionID++;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
32 sessions2.put(sessionID, new LinkedList<SocketChannel>());
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
33 //sessions.add(new LinkedList<SocketChannel>());
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
34 //return sessions2.size();
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
35 return sessionID;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
36
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
37 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
38
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
39 public void addEditor(SocketChannel channel, int sid) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
40 //editorCount++;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
41 //sessions.get(sid-1).add(channel);
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
42 sessions2.get(sid).add(channel);
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
43 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
44
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
45 public int getSessionID(SocketChannel channel) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
46 return 0;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
47 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
48
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
49 public int getNumberOfEditor() {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
50 editorCount++;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
51 return editorCount;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
52 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
53
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
54 public void sendCmd(SocketChannel channel2, REPCommand repCmd) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
55 //int sessionID = repCmd.sid;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
56 LinkedList <SocketChannel> channelList = sessions2.get(repCmd.sid);
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
57 for(SocketChannel channel : channelList){
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
58 if(channel.equals(channel2)) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
59 System.out.println("equals");
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
60 continue;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
61 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
62 REPPacketSend repSend = new REPPacketSend(channel);
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
63 repSend.send(repCmd);
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
64 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
65 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
66
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
67 }