comparison src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveAliceVNCMessage.java @ 86:4a8755a30aa8 default tip

add topology manager number to 'host' key
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Wed, 10 Feb 2016 22:54:46 +0900
parents 57ca704f86a3
children
comparison
equal deleted inserted replaced
85:e9005f975703 86:4a8755a30aa8
6 import alice.codesegment.CodeSegment; 6 import alice.codesegment.CodeSegment;
7 import alice.datasegment.CommandType; 7 import alice.datasegment.CommandType;
8 import alice.datasegment.Receiver; 8 import alice.datasegment.Receiver;
9 9
10 public class ReceiveAliceVNCMessage extends CodeSegment { 10 public class ReceiveAliceVNCMessage extends CodeSegment {
11 private int topMNumber;
11 private Receiver info = ids.create(CommandType.TAKE); 12 private Receiver info = ids.create(CommandType.TAKE);
12 private Receiver info1 = ids.create(CommandType.PEEK); // connection list 13 private Receiver info1 = ids.create(CommandType.PEEK); // connection list
13 14
14 public ReceiveAliceVNCMessage() { 15 public ReceiveAliceVNCMessage(int topMNumber) {
16 this.topMNumber = topMNumber;
15 info.setKey("AliceVNCMessage"); 17 info.setKey("AliceVNCMessage");
16 info1.setKey("_CLIST"); 18 info1.setKey("_CLIST");
17 } 19 }
18 20
19 @Override 21 @Override
25 if (order.messageID == MessageType.ChangeRequest.getId()|| 27 if (order.messageID == MessageType.ChangeRequest.getId()||
26 order.messageID == MessageType.CurrentVNCInfo.getId()) { 28 order.messageID == MessageType.CurrentVNCInfo.getId()) {
27 if (clist.contains("parent")){ 29 if (clist.contains("parent")){
28 order.route.add(info.from); 30 order.route.add(info.from);
29 ods.put("parent", "AliceVNCMessage", order); 31 ods.put("parent", "AliceVNCMessage", order);
30 new ReceiveAliceVNCMessage(); 32 new ReceiveAliceVNCMessage(topMNumber);
31 } else { // this node is root. 33 } else { // this node is root.
32 order.route.add(info.from); 34 order.route.add(info.from);
33 if (order.messageID == MessageType.CurrentVNCInfo.getId()) { 35 if (order.messageID == MessageType.CurrentVNCInfo.getId()) {
34 ods.put("currentServer", order); 36 ods.put("currentServer", order);
35 new ReceiveAliceVNCMessage(); 37 new ReceiveAliceVNCMessage(topMNumber);
36 } else { 38 } else {
37 new CheckCurrentInfo(order); // check change Server flag. 39 new CheckCurrentInfo(order, topMNumber); // check change Server flag.
38 } 40 }
39 } 41 }
40 } else if (order.messageID == MessageType.StartNegotiate.getId()|| 42 } else if (order.messageID == MessageType.StartNegotiate.getId()||
41 order.messageID == MessageType.StopProxy.getId()|| 43 order.messageID == MessageType.StopProxy.getId()||
42 order.messageID == MessageType.DeniedRequest.getId()) { 44 order.messageID == MessageType.DeniedRequest.getId()) {
43 if (order.route.size() == 0) { 45 if (order.route.size() == 0) {
44 // this node send ChangeVNCRequest 46 // this node send ChangeVNCRequest
45 if (order.messageID == MessageType.StartNegotiate.getId()){ 47 if (order.messageID == MessageType.StartNegotiate.getId()){
46 // negotiate VNCServer by Viewer 48 // negotiate VNCServer by Viewer
47 ods.put("vncRight", true); 49 ods.put("vncRight", true);
48 new NegotiateVNCServer(); 50 new NegotiateVNCServer(topMNumber);
49 new ReceiveAliceVNCMessage(); 51 new ReceiveAliceVNCMessage(topMNumber);
50 } else if(order.messageID == MessageType.StopProxy.getId()) { 52 } else if(order.messageID == MessageType.StopProxy.getId()) {
51 new StopProxy(); 53 new StopProxy(topMNumber);
52 } else if (order.messageID == MessageType.DeniedRequest.getId()) { 54 } else if (order.messageID == MessageType.DeniedRequest.getId()) {
53 // pop up window or message 55 // pop up window or message
54 } 56 }
55 } else { 57 } else {
56 String address = order.getNextAddress(); 58 String address = order.getNextAddress();
57 ods.put(address, "AliceVNCMessage", order); 59 ods.put(address, "AliceVNCMessage", order);
58 new ReceiveAliceVNCMessage(); 60 new ReceiveAliceVNCMessage(topMNumber);
59 } 61 }
60 } 62 }
61 } 63 }
62 } 64 }