annotate Todo.txt @ 204:d9d234715853

TreeManager for each interface
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 27 Jun 2014 21:37:20 +0900
parents f5abf6ba9957
children 614db20d8fab
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
196
012941447841 update Todo.
oc
parents: 193
diff changeset
1 Fri Jun 27 15:19:39 JST 2014
198
f5abf6ba9957 update Todo.
oc
parents: 197
diff changeset
2
f5abf6ba9957 update Todo.
oc
parents: 197
diff changeset
3 拡大縮小ボタンのバグを取る。
196
012941447841 update Todo.
oc
parents: 193
diff changeset
4
012941447841 update Todo.
oc
parents: 193
diff changeset
5 Multi-Network-Treeの作成
012941447841 update Todo.
oc
parents: 193
diff changeset
6 socketからNetMaskを検出
012941447841 update Todo.
oc
parents: 193
diff changeset
7 NetworkごとにTreeManagerを作成
012941447841 update Todo.
oc
parents: 193
diff changeset
8 複数のNetworkをもつNodeでは新しいNewtworkにTreeManagerを作成
012941447841 update Todo.
oc
parents: 193
diff changeset
9 FindRootにはTreeMangerが応答する
012941447841 update Todo.
oc
parents: 193
diff changeset
10 下位のNodeのChangeVnCServerはそのTreeManagerが処理する
012941447841 update Todo.
oc
parents: 193
diff changeset
11 上位にHostameがからのChangerVnCserverを投げる
012941447841 update Todo.
oc
parents: 193
diff changeset
12 UpdateRectanleを上位のNetwoekに投げる
012941447841 update Todo.
oc
parents: 193
diff changeset
13 RootではUpdateRectangleを送り返す
012941447841 update Todo.
oc
parents: 193
diff changeset
14
012941447841 update Todo.
oc
parents: 193
diff changeset
15 myRfbProtoのwaitForReady()で新しいnetworkinterfaceを検出する
012941447841 update Todo.
oc
parents: 193
diff changeset
16 treeManagerをnetworkのhashmapで持つ。
012941447841 update Todo.
oc
parents: 193
diff changeset
17 setTreeManagerにnetworkの引数を追加する
012941447841 update Todo.
oc
parents: 193
diff changeset
18
012941447841 update Todo.
oc
parents: 193
diff changeset
19 findRootで重複したrootを見つけたときに、
012941447841 update Todo.
oc
parents: 193
diff changeset
20 一番小さいアドレスだけをrootにする。
012941447841 update Todo.
oc
parents: 193
diff changeset
21 それ以外には、duplicated rootを送る。
197
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
22 この際、duplicated rootを送られたrootは生かしておくが、
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
23 find rootへの応答はやめる。
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
24 lostParentがきたら、find rootへの応答を再開する。
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
25 この際、生かしておくduplicated rootは二つに限る。
196
012941447841 update Todo.
oc
parents: 193
diff changeset
26
012941447841 update Todo.
oc
parents: 193
diff changeset
27 findRootReplyにはVNCServerのhostとportを含める。
012941447841 update Todo.
oc
parents: 193
diff changeset
28 両方共nullだった場合は両方別のものとして表示する。
012941447841 update Todo.
oc
parents: 193
diff changeset
29 異なるVNCServerはduplicate扱いしない。
012941447841 update Todo.
oc
parents: 193
diff changeset
30
012941447841 update Todo.
oc
parents: 193
diff changeset
31 duplicate root を受け取ったrootは、
012941447841 update Todo.
oc
parents: 193
diff changeset
32 rootであることをやめて、自分の子供にrequestWhereToConnectを送信する。
012941447841 update Todo.
oc
parents: 193
diff changeset
33
012941447841 update Todo.
oc
parents: 193
diff changeset
34 requestWhereToConnectを受け取ったnodeは
012941447841 update Todo.
oc
parents: 193
diff changeset
35 whererToConnectを再度送信する。
197
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
36
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
37 中間rootが死んだときには
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
38 下位のnodeはduplicated rootにつなげ直す。
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
39 もしduplicatedListになかったら、あきらめる。
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
40
196
012941447841 update Todo.
oc
parents: 193
diff changeset
41
193
5e652f5404e3 update Todo
oc
parents: 169
diff changeset
42 Thu Jun 25 20:55:00 JST 2014
5e652f5404e3 update Todo
oc
parents: 169
diff changeset
43
5e652f5404e3 update Todo
oc
parents: 169
diff changeset
44 share screenした際に、rootのviewerが消えない。
5e652f5404e3 update Todo
oc
parents: 169
diff changeset
45 殺しきれていないThreadがある。
5e652f5404e3 update Todo
oc
parents: 169
diff changeset
46
5e652f5404e3 update Todo
oc
parents: 169
diff changeset
47
165
93c6ba4d3bc4 UPDATE TODO
one
parents: 156
diff changeset
48 Thu Jun 19 08:12:02 JST 2014
166
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
49
169
8ab1f6905db4 Try to hide root frame
oc
parents: 167
diff changeset
50 Share Button を押した際に、JFrameのTitleを更新する。 Done
166
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
51 SwingViewerWindow.javaのsetRemoteDesktopName メソッドを呼べば解決するはず。
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
52
167
1d3fa20b86bb update remoteDesktopName.
oc
parents: 166
diff changeset
53 サーバが切り替わった際、画面のサイズ等の情報を送信する。(INIT_DATA) Done
166
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
54
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
55 -dオプションでviewerを別にあげるのをやめる。
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
56 2つめのviewerの表示が滞るのをデバッグする
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
57 shareボタンを禁止するrootのオプションを、パネルから設定出来るように。
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
58 shareしたTreeVNCのパネルをinvisibleにする。
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
59 shareする画面の大きさをHDサイズに限定するのをdefaultにする。
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
60 fullサイズを転送するオプションに。
169
8ab1f6905db4 Try to hide root frame
oc
parents: 167
diff changeset
61 checkdelayの機能を。
166
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
62
165
93c6ba4d3bc4 UPDATE TODO
one
parents: 156
diff changeset
63
153
e68dfd1972ac fix bad names.
oc
parents: 133
diff changeset
64 Fri Jun 13 17:29:02 JST 2014
e68dfd1972ac fix bad names.
oc
parents: 133
diff changeset
65
e68dfd1972ac fix bad names.
oc
parents: 133
diff changeset
66 AcceptThreadをMultiThread化する。(deadlockを防ぐため)
e68dfd1972ac fix bad names.
oc
parents: 133
diff changeset
67 TreeNodeが死んだときに、最後のNodeをそこに置き換える。
156
93d903877c6b update todo.
oc
parents: 153
diff changeset
68 clientをつなげたときにscreen sharingするバグを直す。
93d903877c6b update todo.
oc
parents: 153
diff changeset
69 無線LAN等の複数のネットワークを使えるようにする。
93d903877c6b update todo.
oc
parents: 153
diff changeset
70 無線LAN同士でtreeを構成しないようにパターンマッチをする。
153
e68dfd1972ac fix bad names.
oc
parents: 133
diff changeset
71
133
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
72 Sat Jun 7 11:47:56 JST 2014
123
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
73
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
74 Multicast で root を探す (FIND_ROOT)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
75 その時に、自分の proxy port/host を付けておく
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
76 root は、それを client address/port として覚えておく (clients)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
77 root は、そこに接続に来て、「自分のproxy port」を返す。(FIND_ROOT_REPLY)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
78 これを check box に登録する
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
79 client は、それを選択して、root の proxy port に接続に行く (WHERE_TO_CONNECT)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
80 そこから、root は、どこに接続に行くかを教えてくれる (CONNECT_TO)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
81 今度は、そこにclientとして接続する (VERSION_MESSAGE )
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
82
133
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
83 FIND_ROOT (client multicast ) : int port; String hostname (client's address)
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
84
123
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
85 proxy port への接続では、client は自分から書かずに server からの version message を待つ
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
86 普通のVNCは cliet からは VERSION_MESSAGE が行くが、Tree VNC では、
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
87
133
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
88 FIND_ROOT_REPLY (root to client proxy port) : int port; String hostname (root's address)
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
89 WHERE_TO_CONNECT (clinet to root proxy port) : int port; String hostname (client's address)
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
90 CONNECT_TO (root to client ) : int port; String parentAddress (parent's address)
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
91 CONNECT_TO_AS_LEADER (root to client ) : int port; String parentAddress (parent's address)
123
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
92
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
93 が来ることになる。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
94
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
95 切断時は、子供のleaderが root のproxy port に聞きに行く
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
96
133
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
97 LOST_PARENT (client to root) : int port; String hostname
123
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
98
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
99 root は、接続変更が必要な node の proxy に CONNECT_TO を送る (木経由では送れない。切断されているので)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
100
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
101 最終的な切断時では、 LOST_PARENT が大量に出てしまうはず。なので、CONNECT_TO は連続しては送らない。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
102
133
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
103 reportLastNode は CONNECT_TO で良い。(10001 port)
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
104 lostNodeConnection でも CONNECT_TO を使う
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
105
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
106 LOST_PARENT と PARENT_NOT_FOUND の違いはなんだ? LOST_PARENT は leader が出すようだけど。
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
107
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
108 CONNECT_TO で parentNum とか treeNum を送る必要はない。root 内部で接続アドレスから判断する。
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
109 なので、LOST_PARENT は hostname と port だけでよい。
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
110
109
457f9dfbf7ce minor fix.
oc
parents: 105
diff changeset
111 Fri May 23 19:32:24 JST 2014
114
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
112
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
113 checkdelay を再実装する
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
114
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
115 reconnect message が port 10001 を使っているが、これでは複数clientをホストで動かした時に動かない。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
116 どのportを使うかをrootに教える必要がある。
109
457f9dfbf7ce minor fix.
oc
parents: 105
diff changeset
117
123
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
118 9999も使われているようだ。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
119
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
120 普通にclientに接続に行けば、version handshake からスタートするはず。そこに、reconnection プロトコルを
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
121 挟める。MyRfbProto.readVersionMsg()。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
122
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
123 Recconection は
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
124 root は AcceptClient
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
125 client は EchoClient
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
126 で行われている(らしい)。まず、この名前をまともなものにする。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
127
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
128 reconnection は木の最後のノードを穴の空いたところに接続することで行われる。これは、逐次で行う必要がある。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
129 最後には、ほとんどは一斉に切断されるので、そこで破綻しないように注意する。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
130
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
131 root が client のノードとportを持っているかどうかが重要だが。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
132
109
457f9dfbf7ce minor fix.
oc
parents: 105
diff changeset
133
100
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
134 Thu May 22 21:20:39 JST 2014
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
135
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
136 1) zlibの同期が外れてる。
105
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 101
diff changeset
137 VncProxyService.javaのinhelitClients の中で
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 101
diff changeset
138 resetDecoderを呼び出せばいいが....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 101
diff changeset
139 2) DesktopSize ではなく、同じプロトコルで initData を送る方が良い。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 101
diff changeset
140 2) initData の中の名前を見て、自分だったら、shareしたclientのscreenをhideする。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 101
diff changeset
141
100
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
142
96
76e49dd9c9c5 Client resize without reconnection
oc
parents: 22
diff changeset
143 Wed May 22 16:14:25 JST 2014
76e49dd9c9c5 Client resize without reconnection
oc
parents: 22
diff changeset
144
100
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
145 1) 10001, 10002 における固定Portをなくす
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
146 2) 木を上に登る通信
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
147 3) ClientをCloseしないでresizeする
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
148
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
149 Update rectangle で desktop size を変更可能
101
34ced177381b update TODO
oc
parents: 100
diff changeset
150 このままで、pixel formatが変更されない
34ced177381b update TODO
oc
parents: 100
diff changeset
151 なのでserverInit をもう一度送るのがよいのではないか
96
76e49dd9c9c5 Client resize without reconnection
oc
parents: 22
diff changeset
152
100
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
153 4) display modeでClient view(proxy + view)をあげる
96
76e49dd9c9c5 Client resize without reconnection
oc
parents: 22
diff changeset
154
22
acf1a9eb4710 comment
one
parents: 20
diff changeset
155 Wed Aug 29 23:32:36 JST 2012
acf1a9eb4710 comment
one
parents: 20
diff changeset
156
acf1a9eb4710 comment
one
parents: 20
diff changeset
157 ReceiverTask の framebufferUpdateMessage を、TreeTask に再現しないとだめ。
acf1a9eb4710 comment
one
parents: 20
diff changeset
158
20
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 Wed Aug 29 22:27:25 JST 2012
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
160
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 MyRfbProxy の os が初期化されていない (削除する方が良い)
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
162
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 initData が null ( 設定された時に、設定するべき)
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
164
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
165