annotate src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveChangeRequest.java @ 32:7d65ad341cc9

refactor
author sugi
date Sun, 09 Nov 2014 11:40:40 +0900
parents 556e27a53219
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
1 package jp.ac.u_ryukyu.alicevnc;
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
2
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
3 import java.util.List;
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
4
32
7d65ad341cc9 refactor
sugi
parents: 31
diff changeset
5 import jp.ac.u_ryukyu.alicevnc.AliceVNCMessage.MessageType;
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
6 import alice.codesegment.CodeSegment;
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
7 import alice.datasegment.CommandType;
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
8 import alice.datasegment.Receiver;
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
9
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
10 public class ReceiveChangeRequest extends CodeSegment {
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
11 private Receiver info = ids.create(CommandType.TAKE);
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
12 private Receiver info1 = ids.create(CommandType.PEEK); // connection list
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
13
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
14 public ReceiveChangeRequest() {
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
15 info.setKey("changeRequest");
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
16 info1.setKey("_CLIST");
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
17 }
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
18
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
19 @Override
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
20 public void run() {
32
7d65ad341cc9 refactor
sugi
parents: 31
diff changeset
21 AliceVNCMessage order = info.asClass(AliceVNCMessage.class);
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
23 @SuppressWarnings("unchecked")
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
24 List<String> clist = info1.asClass(List.class);
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
25 if (order.messageID == MessageType.ChangeRequest.getId()||
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
26 order.messageID == MessageType.CurrentVNCInfo.getId()) {
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
27 if (clist.contains("parent")){
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
28 order.route.add(info.from);
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
29 ods.put("parent", "changeRequest", order);
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
30 new ReceiveChangeRequest();
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
31 } else { // this node is root.
26
18dd339b98ea bug fix
sugi
parents: 24
diff changeset
32 order.route.add(info.from);
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
33 if (order.messageID == MessageType.CurrentVNCInfo.getId()) {
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
34 ods.put("currentServer", order);
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
35 new ReceiveChangeRequest();
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
36 } else {
26
18dd339b98ea bug fix
sugi
parents: 24
diff changeset
37 System.out.println("coming Server change request from "+ order.name+" "+order.route.size());
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
38 new CheckCurrentInfo(order); // check change Server flag.
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
39 }
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
40 }
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
41 } else if (order.messageID == MessageType.StartNegotiate.getId()||
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
42 order.messageID == MessageType.StopProxy.getId()) {
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
43 if (order.route.size() == 0) {
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
44 if (order.messageID == MessageType.StartNegotiate.getId()){
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
45 // this node send ChangeVNCRequest
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
46 System.out.println("coming StartNegotiate from "+ order.name);
30
d8c6a4c7f16e change algotherm
sugi
parents: 29
diff changeset
47
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
48 // negotiate VNCServer by Viewer
30
d8c6a4c7f16e change algotherm
sugi
parents: 29
diff changeset
49 ods.put("vncRight", true);
d8c6a4c7f16e change algotherm
sugi
parents: 29
diff changeset
50 new NegotiateVNCServer();
d8c6a4c7f16e change algotherm
sugi
parents: 29
diff changeset
51 new ReceiveChangeRequest();
27
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
52 } else {
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
53 new StopProxy();
14c7bd581cc2 implement change VNC Server protocol
sugi
parents: 26
diff changeset
54 }
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
55 } else {
28
71dd46e2d706 send ServerInIt message
sugi
parents: 27
diff changeset
56 int last = order.route.size() - 1;
71dd46e2d706 send ServerInIt message
sugi
parents: 27
diff changeset
57 String address = order.route.get(last);
71dd46e2d706 send ServerInIt message
sugi
parents: 27
diff changeset
58 order.route.remove(last);
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
59 ods.put(address, "changeRequest", order);
29
0f964a1ec846 server change request cant receive
sugi
parents: 28
diff changeset
60 new ReceiveChangeRequest();
24
36a9a7de314d root can receive message
sugi
parents: 23
diff changeset
61 }
23
edf1b800d8b9 need send Server request Test
sugi
parents: 22
diff changeset
62 }
22
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
63 }
fdb036159e61 create ServerChangeRequest
sugi
parents:
diff changeset
64 }