annotate rep/SessionManagerList.java @ 31:593f915dd6ff JOINandPUT

for JOIN and PUT Testing
author pin
date Sat, 10 Nov 2007 12:52:24 +0900
parents 2b4863af8804
children de8638eb0edd
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.nio.channels.SocketChannel;
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
4 import java.util.LinkedList;
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
5 import java.util.List;
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
6
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
7 public class SessionManagerList {
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
8
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
9 private List<SocketChannel> list = new LinkedList<SocketChannel>();
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
10 private int mySMID;
25
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
11 private SocketChannel master;
7
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
12
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
13 public void add(SocketChannel channel) {
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
14 list.add(channel);
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
15 }
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
16
21
2d4bab638a71 *** empty log message ***
pin
parents: 7
diff changeset
17 public void sendUpdate(int sessionID, String string) {
7
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
18 for(SocketChannel channel : list){
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
19 REPPacketSend send = new REPPacketSend(channel);
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
20 send.send(new REPCommand(REP.SMCMD_UPDATE, 0, mySMID, 0, 0, string.length(), string));
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
21 }
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
22 }
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
23
21
2d4bab638a71 *** empty log message ***
pin
parents: 7
diff changeset
24 public void sendJoin(REPCommand command) {
2d4bab638a71 *** empty log message ***
pin
parents: 7
diff changeset
25 for(SocketChannel channel : list){
2d4bab638a71 *** empty log message ***
pin
parents: 7
diff changeset
26 REPPacketSend send = new REPPacketSend(channel);
2d4bab638a71 *** empty log message ***
pin
parents: 7
diff changeset
27 send.send(command);
2d4bab638a71 *** empty log message ***
pin
parents: 7
diff changeset
28 }
2d4bab638a71 *** empty log message ***
pin
parents: 7
diff changeset
29 }
25
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
30
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
31 public void sendUpdateUp(REPCommand command){
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
32 REPPacketSend send = new REPPacketSend(master);
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
33 command.setCMD(REP.SMCMD_UPDATE_UP);
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
34 send.send(command);
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
35 }
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
36
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
37 public void sendUpdateDown(REPCommand command){
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
38 command.setCMD(REP.SMCMD_UPDATE_DOWN);
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
39 for(SocketChannel channel : list){
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
40 if(channel == master) continue;
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
41 REPPacketSend send = new REPPacketSend(channel);
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
42 send.send(command);
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
43 }
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
44 }
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
45
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
46 public void setMaster(SocketChannel channel){
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
47 this.master = channel;
2b4863af8804 *** empty log message ***
pin
parents: 21
diff changeset
48 }
21
2d4bab638a71 *** empty log message ***
pin
parents: 7
diff changeset
49
31
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
50 public void sendSessionList(SessionList sessionlist, REPCommand command) {
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
51 command.setCMD(REP.SMCMD_SM_JOIN_ACK);
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
52
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
53 for(SocketChannel channel : list){
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
54 REPPacketSend send = new REPPacketSend(channel);
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
55 send.send(command);
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
56 }
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
57 }
593f915dd6ff for JOIN and PUT Testing
pin
parents: 25
diff changeset
58
7
5067a6a93d01 *** empty log message ***
pin
parents:
diff changeset
59 }