# HG changeset patch # User Nozomi Teruya # Date 1445266098 -32400 # Node ID 9354e8a1d03b1fa6ec4eaea7685e7f2fceaa539d # Parent 51e57371c620f9d9ca152c9e94b23a5e7db6288a working AliceVNC diff -r 51e57371c620 -r 9354e8a1d03b build.gradle --- a/build.gradle Tue Sep 29 14:02:27 2015 +0900 +++ b/build.gradle Mon Oct 19 23:48:18 2015 +0900 @@ -8,7 +8,7 @@ repositories { maven(){ - url 'http://www.cr.ie.u-ryukyu.ac.jp/hg/maven/raw-file/397cf26fcf58/' + url 'http://www.cr.ie.u-ryukyu.ac.jp/hg/maven/raw-file/e4a10739851b/' } } diff -r 51e57371c620 -r 9354e8a1d03b src/main/java/jp/ac/u_ryukyu/alicevnc/AliceVNC.java --- a/src/main/java/jp/ac/u_ryukyu/alicevnc/AliceVNC.java Tue Sep 29 14:02:27 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/AliceVNC.java Mon Oct 19 23:48:18 2015 +0900 @@ -1,6 +1,7 @@ package jp.ac.u_ryukyu.alicevnc; import alice.codesegment.CodeSegment; +import alice.daemon.AliceDaemon; public class AliceVNC extends CodeSegment { @@ -11,9 +12,10 @@ } public void run() { + System.out.println(); ods.put("AliceVNCConfig", conf); - new ReceiveMeasurement(); - new CheckMyName(); + new ReceiveMeasurement(new AliceDaemon(conf)); + new CheckMyName(this); } diff -r 51e57371c620 -r 9354e8a1d03b src/main/java/jp/ac/u_ryukyu/alicevnc/CheckCurrentInfo.java --- a/src/main/java/jp/ac/u_ryukyu/alicevnc/CheckCurrentInfo.java Tue Sep 29 14:02:27 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/CheckCurrentInfo.java Mon Oct 19 23:48:18 2015 +0900 @@ -12,8 +12,9 @@ private Receiver info = ids.create(CommandType.TAKE); // current Server Info private AliceVNCMessage order; - public CheckCurrentInfo(AliceVNCMessage order){ - info.setKey("currentServer"); + public CheckCurrentInfo(AliceVNCMessage order, CodeSegment cs){ + this.aliceDaemon = cs.aliceDaemon; + info.setKey("currentServer", this); this.order = order; } @@ -50,6 +51,6 @@ ods.update("currentServer", current); } } - new ReceiveAliceVNCMessage(); + new ReceiveAliceVNCMessage(this); } } diff -r 51e57371c620 -r 9354e8a1d03b src/main/java/jp/ac/u_ryukyu/alicevnc/CheckMyName.java --- a/src/main/java/jp/ac/u_ryukyu/alicevnc/CheckMyName.java Tue Sep 29 14:02:27 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/CheckMyName.java Mon Oct 19 23:48:18 2015 +0900 @@ -8,21 +8,22 @@ private Receiver info = ids.create(CommandType.PEEK); - public CheckMyName(){ - info.setKey("host"); + public CheckMyName(CodeSegment cs){ + this.aliceDaemon = cs.aliceDaemon; + info.setKey("host", this); } @Override public void run() { if ("node0".equals(info.asString())) { - new CreateWindow("local"); - new NegotiateVNCServer(); + new CreateWindow("local", this); + new NegotiateVNCServer(this); } else { - new CreateWindow("parent"); + new CreateWindow("parent", this); } - new ReceiveAliceVNCMessage(); - new SendChangeRequest(); + new ReceiveAliceVNCMessage(this); + new SendChangeRequest(this); } } diff -r 51e57371c620 -r 9354e8a1d03b src/main/java/jp/ac/u_ryukyu/alicevnc/CreateWindow.java --- a/src/main/java/jp/ac/u_ryukyu/alicevnc/CreateWindow.java Tue Sep 29 14:02:27 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/CreateWindow.java Mon Oct 19 23:48:18 2015 +0900 @@ -21,8 +21,9 @@ private Receiver info = ids.create(CommandType.PEEK); - public CreateWindow(String key){ - info.setKey(key, "initMessage"); + public CreateWindow(String key, CodeSegment cs){ + this.aliceDaemon = cs.aliceDaemon; + info.setKey(key, "initMessage", this); } public void run() { diff -r 51e57371c620 -r 9354e8a1d03b src/main/java/jp/ac/u_ryukyu/alicevnc/NegotiateVNCServer.java --- a/src/main/java/jp/ac/u_ryukyu/alicevnc/NegotiateVNCServer.java Tue Sep 29 14:02:27 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/NegotiateVNCServer.java Mon Oct 19 23:48:18 2015 +0900 @@ -14,9 +14,10 @@ private Receiver info = ids.create(CommandType.PEEK); private Receiver info1 = ids.create(CommandType.PEEK); - public NegotiateVNCServer(){ - info.setKey("host"); - info1.setKey("AliceVNCConfig"); + public NegotiateVNCServer(CodeSegment cs){ + this.aliceDaemon = cs.aliceDaemon; + info.setKey("host", this); + info1.setKey("AliceVNCConfig", this); } @Override diff -r 51e57371c620 -r 9354e8a1d03b src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveAliceVNCMessage.java --- a/src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveAliceVNCMessage.java Tue Sep 29 14:02:27 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveAliceVNCMessage.java Mon Oct 19 23:48:18 2015 +0900 @@ -11,9 +11,10 @@ private Receiver info = ids.create(CommandType.TAKE); private Receiver info1 = ids.create(CommandType.PEEK); // connection list - public ReceiveAliceVNCMessage() { - info.setKey("AliceVNCMessage"); - info1.setKey("_CLIST"); + public ReceiveAliceVNCMessage(CodeSegment cs) { + this.aliceDaemon = cs.aliceDaemon; + info.setKey("AliceVNCMessage", this); + info1.setKey("_CLIST", this); } @Override @@ -27,14 +28,14 @@ if (clist.contains("parent")){ order.route.add(info.from); ods.put("parent", "AliceVNCMessage", order); - new ReceiveAliceVNCMessage(); + new ReceiveAliceVNCMessage(this); } else { // this node is root. order.route.add(info.from); if (order.messageID == MessageType.CurrentVNCInfo.getId()) { ods.put("currentServer", order); - new ReceiveAliceVNCMessage(); + new ReceiveAliceVNCMessage(this); } else { - new CheckCurrentInfo(order); // check change Server flag. + new CheckCurrentInfo(order, this); // check change Server flag. } } } else if (order.messageID == MessageType.StartNegotiate.getId()|| @@ -45,8 +46,8 @@ if (order.messageID == MessageType.StartNegotiate.getId()){ // negotiate VNCServer by Viewer ods.put("vncRight", true); - new NegotiateVNCServer(); - new ReceiveAliceVNCMessage(); + new NegotiateVNCServer(this); + new ReceiveAliceVNCMessage(this); } else if(order.messageID == MessageType.StopProxy.getId()) { new StopProxy(); } else if (order.messageID == MessageType.DeniedRequest.getId()) { @@ -55,7 +56,7 @@ } else { String address = order.getNextAddress(); ods.put(address, "AliceVNCMessage", order); - new ReceiveAliceVNCMessage(); + new ReceiveAliceVNCMessage(this); } } } diff -r 51e57371c620 -r 9354e8a1d03b src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveMeasurement.java --- a/src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveMeasurement.java Tue Sep 29 14:02:27 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveMeasurement.java Mon Oct 19 23:48:18 2015 +0900 @@ -8,6 +8,7 @@ import java.util.ArrayList; import alice.codesegment.CodeSegment; +import alice.daemon.AliceDaemon; import alice.datasegment.CommandType; import alice.datasegment.ReceiveData; import alice.datasegment.Receiver; @@ -18,10 +19,11 @@ private Receiver info1 = ids.create(CommandType.PEEK); private Receiver info2 = ids.create(CommandType.PEEK); - public ReceiveMeasurement() { - info.setKey("measurement"); - info1.setKey("_CLIST"); - info2.setKey("AliceVNCConfig"); + public ReceiveMeasurement(AliceDaemon aliceDaemon) { + this.aliceDaemon = aliceDaemon; + info.setKey("measurement", this); + info1.setKey("_CLIST", this); + info2.setKey("AliceVNCConfig", this); } @SuppressWarnings("unchecked") diff -r 51e57371c620 -r 9354e8a1d03b src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveUpdateRectangle.java --- a/src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveUpdateRectangle.java Tue Sep 29 14:02:27 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveUpdateRectangle.java Mon Oct 19 23:48:18 2015 +0900 @@ -23,10 +23,10 @@ private Receiver info3 = ids.create(CommandType.PEEK); public ReceiveUpdateRectangle(){ - info.setKey("holder"); - info1.setKey("updateRectangle"); - info2.setKey("pixelData"); - info3.setKey("_CLIST"); + info.setKey("holder", this); + info1.setKey("updateRectangle", this); + info2.setKey("pixelData", this); + info3.setKey("_CLIST", this); } @SuppressWarnings("unchecked") @@ -54,7 +54,6 @@ r.time = System.currentTimeMillis(); } ods.put(node, "pixelData", info2.getReceiveData()); - ods.setCompressFlag(false); } } diff -r 51e57371c620 -r 9354e8a1d03b src/main/java/jp/ac/u_ryukyu/alicevnc/SendChangeRequest.java --- a/src/main/java/jp/ac/u_ryukyu/alicevnc/SendChangeRequest.java Tue Sep 29 14:02:27 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/SendChangeRequest.java Mon Oct 19 23:48:18 2015 +0900 @@ -15,11 +15,12 @@ private Receiver info2 = ids.create(CommandType.PEEK); // AliceVNCConfig private Receiver info3 = ids.create(CommandType.TAKE); // request - public SendChangeRequest(){ - info.setKey("host"); - info1.setKey("_CLIST"); - info2.setKey("AliceVNCConfig"); - info3.setKey("Request"); + public SendChangeRequest(CodeSegment cs){ + this.aliceDaemon = cs.aliceDaemon; + info.setKey("host", this); + info1.setKey("_CLIST", this); + info2.setKey("AliceVNCConfig", this); + info3.setKey("Request", this); } @Override @@ -41,7 +42,7 @@ } ods.put(address, "AliceVNCMessage", mes); - new SendChangeRequest(); + new SendChangeRequest(this); } } diff -r 51e57371c620 -r 9354e8a1d03b src/main/java/jp/ac/u_ryukyu/alicevnc/StartAliceVNC.java --- a/src/main/java/jp/ac/u_ryukyu/alicevnc/StartAliceVNC.java Tue Sep 29 14:02:27 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/StartAliceVNC.java Mon Oct 19 23:48:18 2015 +0900 @@ -2,16 +2,24 @@ import java.util.ArrayList; +import alice.daemon.AliceDaemon; import alice.topology.node.TopologyNode; +/** + * java -cp AliceVNC.jar alice.topology.manager.TopologyManager + * java -jar build/libs/AliceVNC.jar -host YuSugimoto-no-MacBook-Pro.local -p 21000 + */ public class StartAliceVNC { public static void main(String args[]){ AliceVNCConfig conf = new AliceVNCConfig(args); + + AliceDaemon aliceDaemon = new AliceDaemon(conf); + AliceVNC cs = new AliceVNC(conf); if (conf.debugMode()) { cs.ods.put("_CLIST", new ArrayList()); cs.ods.put("host", "node0"); - cs.execute(); + cs.execute(aliceDaemon); return; } diff -r 51e57371c620 -r 9354e8a1d03b src/main/java/jp/ac/u_ryukyu/alicevnc/StopProxy.java --- a/src/main/java/jp/ac/u_ryukyu/alicevnc/StopProxy.java Tue Sep 29 14:02:27 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/StopProxy.java Mon Oct 19 23:48:18 2015 +0900 @@ -11,14 +11,14 @@ private Receiver info = ids.create(CommandType.TAKE); public StopProxy() { - info.setKey("viewer"); + info.setKey("viewer", this); } @Override public void run() { System.out.println("call clean up session"); Viewer v = info.asClass(Viewer.class); v.closeApp(); - new ReceiveAliceVNCMessage(); + new ReceiveAliceVNCMessage(this); } }