# HG changeset patch # User oc # Date 1404383019 -32400 # Node ID 1badb2ce838f238171832db9ce5523e84efbcd7c # Parent e1391294836921dce494914ca67a6a02ffc62794 add poll timeout root-command-loop, client don"t send framebufferupdate. diff -r e13912948369 -r 1badb2ce838f Todo.txt --- a/Todo.txt Thu Jul 03 18:08:04 2014 +0900 +++ b/Todo.txt Thu Jul 03 19:23:39 2014 +0900 @@ -1,3 +1,36 @@ +Thu Jul 3 18:09:37 JST 2014 + + interface毎にtreemanagerをつくるので十分。 + subTreeを接続するときにはtreeのnodeにroot modeで直接つなぎにいく。 + これで自動的にlocalのroot managerになる。 + 元のtreeとは干渉しない。 + + sub treeの画面に切り替えることは現状できない。 + 切り替えるためには、sub tree側から元のtreeにRfbUpdateを持ち上げなければならない。 + 保留。 + + 同じnetworkにいるかどうかはwheretoconnectに変わったnetworkで接続しにきたときのみ対処する。 + + duplicated rootは、subtreeを自分でつなげることにすれば必要ない。 + + 殺しきれていないThreadがある。 + + 動かしたままサスペンドすると暴走する。 + サスペンドしたマシンに + + shareボタンを禁止するrootのオプションを、パネルから設定出来るように。 + + shareする画面の大きさをHDサイズに限定するのをdefaultにする。 + オプションには定義してあるけれど正しく機能していない。 + + checkdelayの機能を。 + 木をさかのぼるプロトコル + 上から投げて、下からdelayの時間をあげていく + 途中のnodeですべてのtreeを待ってから + + subtreeからのshareの問題。 + + Wed Jul 2 18:55:48 JST 2014 TreeRFBProtoのisTreeManagerはnetwork毎に変わる。 @@ -67,7 +100,7 @@ Thu Jun 25 20:55:00 JST 2014 - share screenした際に、rootのviewerが消えない。 + share screenした際に、rootのviewerが消えない。 done! 殺しきれていないThreadがある。 @@ -78,10 +111,10 @@ サーバが切り替わった際、画面のサイズ等の情報を送信する。(INIT_DATA) Done - -dオプションでviewerを別にあげるのをやめる。 + -dオプションでviewerを別にあげるのをやめる。done 2つめのviewerの表示が滞るのをデバッグする shareボタンを禁止するrootのオプションを、パネルから設定出来るように。 - shareしたTreeVNCのパネルをinvisibleにする。 + shareしたTreeVNCのパネルをinvisibleにする。 done shareする画面の大きさをHDサイズに限定するのをdefaultにする。 fullサイズを転送するオプションに。 checkdelayの機能を。 diff -r e13912948369 -r 1badb2ce838f src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java --- a/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Thu Jul 03 18:08:04 2014 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Thu Jul 03 19:23:39 2014 +0900 @@ -262,6 +262,7 @@ } else throw new CommonException("Unprocessed encoding: " + rect.toString()); } + if (!rfb.isTreeManager()) return; synchronized (this) { if (needSendPixelFormat) { needSendPixelFormat = false; diff -r e13912948369 -r 1badb2ce838f src/main/java/jp/ac/u_ryukyu/treevnc/TreeRootFinderListener.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRootFinderListener.java Thu Jul 03 18:08:04 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRootFinderListener.java Thu Jul 03 19:23:39 2014 +0900 @@ -58,7 +58,7 @@ if(stopFlag) break; } } catch (Exception e) { - + System.out.println("tree-root-find-listener :" + e.getMessage()); } } diff -r e13912948369 -r 1badb2ce838f src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java Thu Jul 03 18:08:04 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java Thu Jul 03 19:23:39 2014 +0900 @@ -18,7 +18,7 @@ Reader is; private TreeCommand command ; private Socket connection; - private short value; + private short value; private String intf; public TreeVncCommand(TreeRFBProto rfb,String myHostName, TreeCommand command, int port, String hostname, String intf, short value) { @@ -71,7 +71,7 @@ } } - /** + /** * new clients ask root to where to connect * tell him his parent * @param port @@ -113,9 +113,9 @@ * @param hostname */ void handleFindRootReply(int port, String hostname,String myHostname) { - rfb.addHostToSelectionPanel(port, hostname,myHostname); + rfb.addHostToSelectionPanel(port, hostname,myHostname); } - + /** * client node lost parent connection, send reconnection message. * if root is not here, clients die themselves. @@ -126,9 +126,9 @@ private void handleLostParent(int port, String hostname, String myHostName) { rfb.getTreeManager(intf).fixLostParent(hostname,port,myHostName); } - + public TreeCommand getCommand () { - return command; + return command; } diff -r e13912948369 -r 1badb2ce838f src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommandChannelListener.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommandChannelListener.java Thu Jul 03 18:08:04 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommandChannelListener.java Thu Jul 03 19:23:39 2014 +0900 @@ -38,7 +38,7 @@ TreeVncCommand cmd = null; do { try { - cmd = cmdQueue.poll(0, TimeUnit.MILLISECONDS); + cmd = cmdQueue.poll(1000, TimeUnit.MILLISECONDS); } catch (InterruptedException e) { continue; }