annotate src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveChangeRequest.java @ 29:0f964a1ec846

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