Mercurial > hg > Applications > AliceVNC
annotate src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveMeasurement.java @ 53:9325819b2853
back version Alice tag:work-compressedDSM
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Nov 2015 17:25:28 +0900 |
parents | 57ca704f86a3 |
children | fe627049e289 8f60ba0d29ae |
rev | line source |
---|---|
40 | 1 package jp.ac.u_ryukyu.alicevnc; |
2 | |
3 import java.io.BufferedWriter; | |
4 import java.io.File; | |
5 import java.io.FileWriter; | |
6 import java.io.IOException; | |
7 import java.io.PrintWriter; | |
8 import java.util.ArrayList; | |
9 | |
10 import alice.codesegment.CodeSegment; | |
47 | 11 import alice.daemon.AliceDaemon; |
40 | 12 import alice.datasegment.CommandType; |
41 | 13 import alice.datasegment.ReceiveData; |
40 | 14 import alice.datasegment.Receiver; |
15 | |
16 public class ReceiveMeasurement extends CodeSegment { | |
17 | |
18 private Receiver info = ids.create(CommandType.TAKE); | |
19 private Receiver info1 = ids.create(CommandType.PEEK); | |
20 private Receiver info2 = ids.create(CommandType.PEEK); | |
21 | |
52
57ca704f86a3
back version Alice tag:work-compressedDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
47
diff
changeset
|
22 public ReceiveMeasurement() { |
57ca704f86a3
back version Alice tag:work-compressedDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
47
diff
changeset
|
23 info.setKey("measurement"); |
57ca704f86a3
back version Alice tag:work-compressedDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
47
diff
changeset
|
24 info1.setKey("_CLIST"); |
57ca704f86a3
back version Alice tag:work-compressedDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
47
diff
changeset
|
25 info2.setKey("AliceVNCConfig"); |
40 | 26 } |
27 | |
28 @SuppressWarnings("unchecked") | |
29 @Override | |
30 public void run() { | |
41 | 31 long time = System.currentTimeMillis(); |
40 | 32 ArrayList<String> clist = info1.asClass(ArrayList.class); |
33 boolean route = true; | |
34 for (String node : clist){ | |
35 if ("parent".equals(node)) { | |
36 route = false; | |
37 break; | |
38 } | |
39 } | |
40 | |
41 try { | |
42 if (route) { | |
43 AliceVNCConfig conf = info2.asClass(AliceVNCConfig.class); | |
44 if (conf.getFilePath()!=null) { | |
45 File file = new File(conf.getFilePath()); | |
46 if (!file.exists()) { | |
47 file.createNewFile(); | |
48 } | |
49 FileWriter filewriter = new FileWriter(file, true); | |
50 BufferedWriter bw = new BufferedWriter(filewriter); | |
51 PrintWriter pw = new PrintWriter(bw); | |
52 | |
41 | 53 ReceiveData r = info.getReceiveData(); |
44 | 54 pw.println(r.depth/2+" "+(time - r.time)/2+" "+((byte[])info.getObj()).length); |
40 | 55 pw.close(); |
56 } | |
57 } else { | |
58 ods.put("parent", info.key, info.getReceiveData()); | |
59 } | |
60 | |
61 } catch (IOException e) { | |
62 | |
63 } | |
64 this.recycle(); | |
65 } | |
66 | |
67 } |