Mercurial > hg > Applications > AliceVNC
view src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveMeasurement.java @ 64:66f95be0daab
add zippedSizeData to ReceiveData for AliceVNC measurement
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 19 Nov 2015 03:25:54 +0900 |
parents | 8f60ba0d29ae |
children | 3d2b82127a3c 29e061701aee |
line wrap: on
line source
package jp.ac.u_ryukyu.alicevnc; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import alice.codesegment.CodeSegment; import alice.daemon.AliceDaemon; import alice.datasegment.CommandType; import alice.datasegment.ReceiveData; import alice.datasegment.Receiver; public class ReceiveMeasurement extends CodeSegment { private Receiver info = ids.create(CommandType.TAKE); 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"); } @SuppressWarnings("unchecked") @Override public void run() { long time = System.currentTimeMillis();//ミリ秒 ArrayList<String> clist = info1.asClass(ArrayList.class); boolean route = true; for (String node : clist){ if ("parent".equals(node)) { route = false; break; } } try { if (route) { AliceVNCConfig conf = info2.asClass(AliceVNCConfig.class); if (conf.getFilePath()!=null) { File file = new File(conf.getFilePath()); if (!file.exists()) { file.createNewFile(); } FileWriter filewriter = new FileWriter(file, true); BufferedWriter bw = new BufferedWriter(filewriter); PrintWriter pw = new PrintWriter(bw); ReceiveData r = info.getReceiveData(); pw.println("depth:" + r.getDepth()/2 + " dataSize:" + r.getZippedDataSize() + " time:" + (time - r.getTime()));//画面データのサイズと現在の接続台数も pw.close(); } } else { ReceiveData r = info.getReceiveData(); ReceiveData rData = new ReceiveData(null); rData.setZippedDataSize(r.getZippedDataSize()); rData.setTimes(r.getTime(), r.getSetTime(), r.getDepth()); ods.put("parent", info.key, rData); } } catch (IOException e) { } this.recycle(); } }