annotate src/main/java/jp/ac/u_ryukyu/treevnc/CreateConnectionParam.java @ 510:89f1f7e41838

broadcast FrameBufferUpdate Rectangle
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 20 Feb 2019 15:24:42 +0900
parents 94c520535ef1
children b97fdcd337fe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 package jp.ac.u_ryukyu.treevnc;
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
3 import java.io.IOException;
343
f1721ec54899 add remoteRootStart
oc
parents: 331
diff changeset
4 import java.net.InetAddress;
f1721ec54899 add remoteRootStart
oc
parents: 331
diff changeset
5 import java.net.UnknownHostException;
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
6
153
e68dfd1972ac fix bad names.
oc
parents: 149
diff changeset
7 import com.glavsoft.viewer.ViewerInterface;
130
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
8 import com.glavsoft.viewer.swing.ConnectionParams;
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
9
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 public class CreateConnectionParam {
510
89f1f7e41838 broadcast FrameBufferUpdate Rectangle
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 401
diff changeset
11 private final FindRoot getBcast;
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 private String hostName;
130
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
13 private int portNumber = ConnectionParams.DEFAULT_VNC_ROOT;
207
b31903e5b02d rename myRFBProto
oc
parents: 206
diff changeset
14 private TreeRFBProto rfb;
145
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
15 private String myHostName;
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
16 private boolean rootMode = false;
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
17
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
18 private boolean displayMode = false;
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
19
207
b31903e5b02d rename myRFBProto
oc
parents: 206
diff changeset
20 public CreateConnectionParam(TreeRFBProto rfb) {
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 this.rfb = rfb;
329
230038d5127d change reconnect new node instead of lost child node.
oc
parents: 327
diff changeset
22 rfb.setConnectionParam(this);
510
89f1f7e41838 broadcast FrameBufferUpdate Rectangle
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 401
diff changeset
23 getBcast = new FindRoot(rfb.acceptPort,this);
89f1f7e41838 broadcast FrameBufferUpdate Rectangle
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 401
diff changeset
24 rfb.setFindRoot(getBcast);
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 }
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
327
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
27 public synchronized void findTreeVncRoot() {
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
28 rfb.createRootSelectionPanel(this, getBcast);
401
94c520535ef1 Fix selection panel
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 399
diff changeset
29 getBcast.findRoot();
327
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
30 // wait for RootSelection
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
31 try {
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
32 wait();
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
33 } catch (InterruptedException e) {
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
34 System.out.println("any thread interrupt when wait for FindRoot " + e.getMessage());
293c35aa902b add error message, add assure stream close, delete firstTime value in TreeRFBProto.
oc
parents: 326
diff changeset
35 }
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
36 }
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
38 /**
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
39 * To find parent, send WHERE_TO_CONNECT command to the TreeVNC root
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
40 * Incoming CONNECT_TO message is handled in MyRFBProto
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
41 * @param v
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
42 */
177
8019a393875a proxy reorganization
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 176
diff changeset
43 public void sendWhereToConnect(ViewerInterface v) {
176
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
44 rfb.setConnectionParam(this);
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
45 TreeVncProtocol echo = new TreeVncProtocol(hostName,portNumber);
344
f2921fd4ac96 fix whereToConnect value
oc
parents: 343
diff changeset
46 echo.whereToConnect(myHostName,rfb.getAcceptPort());
343
f1721ec54899 add remoteRootStart
oc
parents: 331
diff changeset
47 }
f1721ec54899 add remoteRootStart
oc
parents: 331
diff changeset
48
145
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
49 public synchronized void setHostName(String _hostName, int port, String _myHostName) {
130
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
50 hostName = _hostName;
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
51 portNumber = port;
145
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
52 myHostName = _myHostName;
144
1e004d9c599d notify connection panel
oc
parents: 143
diff changeset
53 notify();
130
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
54 }
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
55
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
56 public void setHostName(String hostAndPort) {
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
57 int i = hostAndPort.indexOf(':');
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
58 if (i>0) {
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
59 portNumber = Integer.parseInt(hostAndPort.substring(i+1));
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
60 hostName = hostAndPort.substring(0,i);
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
61 } else
1f6bfaa3281b root selection panel
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
62 hostName = hostAndPort;
176
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
63 // who sets myHostName?
377
877008c86e85 Add direct option
innparusu
parents: 345
diff changeset
64 }
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65
145
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
66 public String getMyHostName() {
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
67 return myHostName;
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
68 }
149
1291cf1122ca panel will not open ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 145
diff changeset
69
176
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
70 public int getPort() {
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
71 return portNumber;
149
1291cf1122ca panel will not open ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 145
diff changeset
72 }
176
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
73
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
74 public String getHostName() {
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
75 return hostName;
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
76 }
fa6cfb85444e on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 157
diff changeset
77
398
b3ef6d14b2b7 Select Mode to start Panel
innparusu
parents: 377
diff changeset
78 public void setRootMode() {
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
79 rootMode = true;
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
80 }
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
81
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
82 public boolean isRootMode() {
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
83 return rootMode;
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
84 }
398
b3ef6d14b2b7 Select Mode to start Panel
innparusu
parents: 377
diff changeset
85
b3ef6d14b2b7 Select Mode to start Panel
innparusu
parents: 377
diff changeset
86 public void setDisplayMode() {
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
87 displayMode = true;
398
b3ef6d14b2b7 Select Mode to start Panel
innparusu
parents: 377
diff changeset
88 }
399
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
89
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
90 public boolean isDisplayMode() {
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
91 return displayMode;
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
92 }
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
93
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
94 public synchronized void restart() {
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
95 notify();
28d67bbfa9f1 Implement SelectionPanel processing
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
96 }
67
2908e4b95b0a add file
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 }