Mercurial > hg > Applications > AliceVNC
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 } |