annotate src/main/java/jp/ac/u_ryukyu/alicevnc/SendChangeRequest.java @ 27:14c7bd581cc2

implement change VNC Server protocol
author sugi
date Sat, 08 Nov 2014 15:50:32 +0900
parents 6cb444e8e646
children 7d65ad341cc9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
1 package jp.ac.u_ryukyu.alicevnc;
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
2
25
6cb444e8e646 bug fix
sugi
parents: 24
diff changeset
3 import java.util.ArrayList;
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
4 import java.util.List;
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
5
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
6 import jp.ac.u_ryukyu.alicevnc.ChangeRequestMessage.MessageType;
15
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
7 import alice.codesegment.CodeSegment;
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
8 import alice.datasegment.CommandType;
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
9 import alice.datasegment.Receiver;
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
10
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
11 public class SendChangeRequest extends CodeSegment {
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
12
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
13 private Receiver info = ids.create(CommandType.PEEK); // hostName
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
14 private Receiver info1 = ids.create(CommandType.PEEK); // connection list
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
15 private Receiver info2 = ids.create(CommandType.PEEK); // AliceVNCConfig
23
edf1b800d8b9 need send Server request Test
sugi
parents: 22
diff changeset
16 private Receiver info3 = ids.create(CommandType.TAKE); // request
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
17
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
18 public SendChangeRequest(){
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
19 info.setKey("host");
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
20 info1.setKey("_CLIST");
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
21 info2.setKey("AliceVNCConfig");
23
edf1b800d8b9 need send Server request Test
sugi
parents: 22
diff changeset
22 info3.setKey("Request");
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
23 }
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
24
15
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
25 @Override
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
26 public void run() {
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
27 AliceVNCConfig config = info2.asClass(AliceVNCConfig.class);
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
28 String hostname = info.asString();
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
29
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
30 @SuppressWarnings("unchecked")
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
31 List<String> clist = info1.asClass(List.class);
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
32
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
33 ChangeRequestMessage mes = new ChangeRequestMessage(MessageType.ChangeRequest);
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 25
diff changeset
34 mes.allowChange = config.getAllowChange();
25
6cb444e8e646 bug fix
sugi
parents: 24
diff changeset
35 mes.route = new ArrayList<String>();
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
36 mes.name = hostname;
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
37
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
38 String address = "local";
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
39 if (clist.contains("parent")){ // this node is not root. compare node0 is better?
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
40 address = "parent";
15
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
41 }
22
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
42
fdb036159e61 create ServerChangeRequest
sugi
parents: 15
diff changeset
43 ods.put(address, "changeRequest", mes);
23
edf1b800d8b9 need send Server request Test
sugi
parents: 22
diff changeset
44 new SendChangeRequest();
15
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
45 }
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
46
87d90513e8f5 add ServerChange Message
YU
parents:
diff changeset
47 }