diff 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
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveAliceVNCMessage.java	Sat Jan 30 21:12:23 2016 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveAliceVNCMessage.java	Wed Feb 10 22:54:46 2016 +0900
@@ -8,10 +8,12 @@
 import alice.datasegment.Receiver;
 
 public class ReceiveAliceVNCMessage extends CodeSegment {
+    private int topMNumber;
     private Receiver info = ids.create(CommandType.TAKE);
     private Receiver info1 = ids.create(CommandType.PEEK); // connection list
 
-    public ReceiveAliceVNCMessage() {
+    public ReceiveAliceVNCMessage(int topMNumber) {
+        this.topMNumber = topMNumber;
         info.setKey("AliceVNCMessage");
         info1.setKey("_CLIST");
     }
@@ -27,14 +29,14 @@
             if (clist.contains("parent")){
                 order.route.add(info.from);
                 ods.put("parent", "AliceVNCMessage", order);
-                new ReceiveAliceVNCMessage();
+                new ReceiveAliceVNCMessage(topMNumber);
             } else { // this node is root.
                 order.route.add(info.from);
                 if (order.messageID == MessageType.CurrentVNCInfo.getId()) {
                     ods.put("currentServer", order);
-                    new ReceiveAliceVNCMessage();
+                    new ReceiveAliceVNCMessage(topMNumber);
                 } else {
-                    new CheckCurrentInfo(order); // check change Server flag.
+                    new CheckCurrentInfo(order, topMNumber); // check change Server flag.
                 }
             }
         } else if (order.messageID == MessageType.StartNegotiate.getId()||
@@ -45,17 +47,17 @@
                 if (order.messageID == MessageType.StartNegotiate.getId()){
                     // negotiate VNCServer by Viewer
                     ods.put("vncRight", true);
-                    new NegotiateVNCServer();
-                    new ReceiveAliceVNCMessage();
+                    new NegotiateVNCServer(topMNumber);
+                    new ReceiveAliceVNCMessage(topMNumber);
                 } else if(order.messageID == MessageType.StopProxy.getId()) {
-                    new StopProxy();
+                    new StopProxy(topMNumber);
                 } else if (order.messageID == MessageType.DeniedRequest.getId()) {
                     // pop up window or message
                 }
             } else {
                 String address = order.getNextAddress();
                 ods.put(address, "AliceVNCMessage", order);
-                new ReceiveAliceVNCMessage();
+                new ReceiveAliceVNCMessage(topMNumber);
             }
         }
     }