annotate rep/SessionManagerList.java @ 231:b837feb00132

*** empty log message ***
author pin
date Sun, 31 Aug 2008 18:50:08 +0900
parents eb89a73976fa
children 90965a3bd4f3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
1 package rep;
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
2
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
3 import java.util.LinkedList;
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
4 import java.util.List;
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
5
133
8dce4348966c *** empty log message ***
kono
parents: 78
diff changeset
6 import rep.channel.REPSocketChannel;
56
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
7 import rep.xml.SessionXMLEncoder;
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
8
7
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
9 public class SessionManagerList {
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
10
133
8dce4348966c *** empty log message ***
kono
parents: 78
diff changeset
11 private List<REPSocketChannel<REPCommand>> list = new LinkedList<REPSocketChannel<REPCommand>>();
7
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
12 private int mySMID;
133
8dce4348966c *** empty log message ***
kono
parents: 78
diff changeset
13 private REPSocketChannel<REPCommand> master;
7
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
14
133
8dce4348966c *** empty log message ***
kono
parents: 78
diff changeset
15 public void add(REPSocketChannel<REPCommand> channel) {
7
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
16 list.add(channel);
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
17 }
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
18
21
2d4bab638a71 *** empty log message ***
pin
parents: 7
diff changeset
19 public void sendUpdate(int sessionID, String string) {
133
8dce4348966c *** empty log message ***
kono
parents: 78
diff changeset
20 for(REPSocketChannel<REPCommand> channel : list){
183
eb89a73976fa *** empty log message ***
kent
parents: 138
diff changeset
21 channel.write(new REPCommand(REP.SMCMD_UPDATE, 0, mySMID, 0, 0, string.length(), string));
7
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
22 }
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
23 }
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
24
21
2d4bab638a71 *** empty log message ***
pin
parents: 7
diff changeset
25 public void sendJoin(REPCommand command) {
133
8dce4348966c *** empty log message ***
kono
parents: 78
diff changeset
26 for(REPSocketChannel<REPCommand> channel : list){
183
eb89a73976fa *** empty log message ***
kent
parents: 138
diff changeset
27 channel.write(command);
25
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
28 }
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
29 }
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
30
133
8dce4348966c *** empty log message ***
kono
parents: 78
diff changeset
31 public void setMaster(REPSocketChannel<REPCommand> channel){
25
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
32 this.master = channel;
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
33 }
21
2d4bab638a71 *** empty log message ***
pin
parents: 7
diff changeset
34
56
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
35 public void sendSessionList(SessionList sessionlist, REPCommand command) {
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
36 SessionXMLEncoder encoder = new SessionXMLEncoder(sessionlist);
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
37 command.setString(encoder.sessionListToXML());
31
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
38
133
8dce4348966c *** empty log message ***
kono
parents: 78
diff changeset
39 for(REPSocketChannel<REPCommand> channel : list){
183
eb89a73976fa *** empty log message ***
kent
parents: 138
diff changeset
40 channel.write(command);
31
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
41 }
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
42 }
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
43
133
8dce4348966c *** empty log message ***
kono
parents: 78
diff changeset
44 public void send(REPSocketChannel<REPCommand> channel, REPCommand repCmd) {
38
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
45
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
46 }
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
47
56
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
48 public void sendToMaster(REPCommand repCmd) {
183
eb89a73976fa *** empty log message ***
kent
parents: 138
diff changeset
49 master.write(repCmd);
56
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
50 }
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
51
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
52 public void sendToSlave(REPCommand repCmd) {
133
8dce4348966c *** empty log message ***
kono
parents: 78
diff changeset
53 for(REPSocketChannel<REPCommand> channel : list){
58
fca7217dab1e *** empty log message ***
pin
parents: 56
diff changeset
54 if(channel.equals(master)) continue;
183
eb89a73976fa *** empty log message ***
kent
parents: 138
diff changeset
55 channel.write(repCmd);
56
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
56 }
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
57 }
6ead43b2475e *** empty log message ***
pin
parents: 39
diff changeset
58
138
4ff7a00b13cc *** empty log message ***
kent
parents: 133
diff changeset
59 public void sendExcept(REPSocketChannel<REPCommand> channel2, REPCommand command) {
133
8dce4348966c *** empty log message ***
kono
parents: 78
diff changeset
60 for(REPSocketChannel<REPCommand> channel : list){
138
4ff7a00b13cc *** empty log message ***
kent
parents: 133
diff changeset
61 if(channel.equals(channel2)) continue;
183
eb89a73976fa *** empty log message ***
kent
parents: 138
diff changeset
62 channel.write(command);
78
8a4f92f31c58 *** empty log message ***
pin
parents: 58
diff changeset
63 }
8a4f92f31c58 *** empty log message ***
pin
parents: 58
diff changeset
64 }
8a4f92f31c58 *** empty log message ***
pin
parents: 58
diff changeset
65
7
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
66 }