# HG changeset patch # User Tatsuki IHA # Date 1450414101 -32400 # Node ID 0543c380308c4068e7bde3ceb6723fa31fb96506 # Parent c225c796377851cf7f98cd0ebb9030e002172c3c Move bottleneck Node to outside node list diff -r c225c7963778 -r 0543c380308c .idea/workspace.xml --- a/.idea/workspace.xml Mon Dec 14 16:20:20 2015 +0900 +++ b/.idea/workspace.xml Fri Dec 18 13:48:21 2015 +0900 @@ -2,11 +2,9 @@ - - + + - - @@ -68,11 +66,7 @@ - - - - - + @@ -103,26 +97,25 @@ - - + + - - - - - - - - - - - + + + + + + + + + + @@ -130,7 +123,7 @@ - + @@ -162,14 +155,9 @@ - - - - - - - - + + + @@ -209,7 +197,7 @@ - + @@ -559,16 +547,17 @@ - @@ -597,7 +586,9 @@ + + @@ -912,8 +903,6 @@ - - @@ -933,7 +922,7 @@ - + @@ -1348,8 +1337,8 @@ - - + + @@ -1368,7 +1357,7 @@ - + @@ -1453,7 +1442,7 @@ file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 532 + 540 @@ -1561,13 +1550,13 @@ file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 960 + 968 file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 980 + 988 @@ -1621,13 +1610,13 @@ file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 964 + 972 file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 498 + 506 @@ -1639,7 +1628,7 @@ file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 991 + 999 @@ -1651,7 +1640,7 @@ file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 824 + 832 @@ -1681,7 +1670,7 @@ file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 646 + 654 @@ -1711,7 +1700,7 @@ file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 743 + 751 @@ -1735,15 +1724,21 @@ file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 206 + 208 + + file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java + 253 + + - @@ -1752,13 +1747,6 @@ - - - - - - - @@ -1892,7 +1880,6 @@ - @@ -1943,7 +1930,6 @@ - @@ -1975,7 +1961,6 @@ - @@ -1983,9 +1968,6 @@ - - - @@ -2045,7 +2027,6 @@ - @@ -2062,7 +2043,7 @@ - + @@ -2133,7 +2114,7 @@ - + @@ -2144,48 +2125,36 @@ + + + + + + + + - - - - - + - - - - - - - - + + + - - + + - - - - - - - - - - - diff -r c225c7963778 -r 0543c380308c src/main/java/jp/ac/u_ryukyu/treevnc/TreeManagement.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeManagement.java Mon Dec 14 16:20:20 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeManagement.java Fri Dec 18 13:48:21 2015 +0900 @@ -41,7 +41,7 @@ * @param nodeNum * parent value */ - private void moveLastNodeToLostNodePosition(int nodeNum) { + public void moveLastNodeToLostNodePosition(int nodeNum) { nodeList.remove(nodeNum); if (nodeNum != nodeList.size()) { TreeVNCNode node = nodeList.removeLast(); @@ -131,7 +131,7 @@ * send reconnect to all children * @param deadNode */ - private void lostNodeConnection(TreeVNCNode deadNode) { + public void lostNodeConnection(TreeVNCNode deadNode) { if (nodeList.size() < deadNode.getTreeNum()+1) { return; } diff -r c225c7963778 -r 0543c380308c src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java Mon Dec 14 16:20:20 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java Fri Dec 18 13:48:21 2015 +0900 @@ -51,6 +51,7 @@ private TreeVNCNetwork nets = new TreeVNCNetwork(); private TreeVncRootSelectionPanel rootSelectionPanel; private String vncInterface; + private TreeManagement treeManager; public LinkedList nodeList; protected boolean readyReconnect = false; @@ -85,6 +86,7 @@ private int x; private int y; + public TreeRFBProto(boolean isTreeManager, ViewerInterface viewer) { rThread = new RequestScreenThread(this); nets.setMyRfb(this); @@ -248,6 +250,12 @@ String address = new String(byteAddress, "UTF-8"); int nodeNum = getNodeNum(port, address); Long delay = System.currentTimeMillis() - time; + if (delay > 3000) { + TreeVNCNode deadNode = nodeList.get(nodeNum); + treeManager.moveLastNodeToLostNodePosition(deadNode.getTreeNum()); + treeManager.lostNodeConnection(deadNode); + treeManager.showTreeNode(); + } System.out.println(System.currentTimeMillis() + " : receive checkDelay : nodeNum" + nodeNum + ", port : " + port + ", address : " + address + ", delay : " + delay + ", size : " + dataLen); } // case of client node. @@ -799,9 +807,9 @@ } public TreeManagement getTreeManager(String intf) { - TreeManagement tm = nets.getTreeManager(intf); - this.nodeList = tm.getList(); - return tm; + this.treeManager = nets.getTreeManager(intf); + this.nodeList = treeManager.getList(); + return treeManager; } /**