comparison src/main/java/jp/ac/u_ryukyu/alicevnc/SendChangeRequest.java @ 22:fdb036159e61

create ServerChangeRequest
author sugi
date Fri, 07 Nov 2014 17:09:08 +0900
parents src/main/java/jp/ac/u_ryukyu/alicevnc/RequestStartVNCServer.java@87d90513e8f5
children edf1b800d8b9
comparison
equal deleted inserted replaced
21:eeafa2dc8445 22:fdb036159e61
1 package jp.ac.u_ryukyu.alicevnc;
2
3 import java.util.List;
4
5 import alice.codesegment.CodeSegment;
6 import alice.datasegment.CommandType;
7 import alice.datasegment.Receiver;
8
9 public class SendChangeRequest extends CodeSegment {
10
11 private Receiver info = ids.create(CommandType.PEEK); // hostName
12 private Receiver info1 = ids.create(CommandType.PEEK); // connection list
13 private Receiver info2 = ids.create(CommandType.PEEK); // AliceVNCConfig
14
15 public SendChangeRequest(){
16 info.setKey("host");
17 info1.setKey("_CLIST");
18 info2.setKey("AliceVNCConfig");
19 }
20
21 @Override
22 public void run() {
23 AliceVNCConfig config = info2.asClass(AliceVNCConfig.class);
24 String hostname = info.asString();
25
26 @SuppressWarnings("unchecked")
27 List<String> clist = info1.asClass(List.class);
28
29 ChangeRequestMessage mes = new ChangeRequestMessage();
30 mes.changeServer = config.getAllowChange();
31 mes.requestNodeName = hostname;
32
33 String address = "local";
34 if (clist.contains("parent")){ // this node is not root. compare node0 is better?
35 address = "parent";
36 }
37
38 ods.put(address, "changeRequest", mes);
39
40 }
41
42 }