changeset 415:5c3635d6ab3c

Send Check_Delay packet if checkDelay flag is true
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Tue, 24 Nov 2015 04:39:25 +0900
parents 3af5f4af2d63
children b554dcc915c9
files .idea/workspace.xml src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java
diffstat 4 files changed, 120 insertions(+), 126 deletions(-) [+]
line wrap: on
line diff
--- a/.idea/workspace.xml	Tue Nov 24 02:18:51 2015 +0900
+++ b/.idea/workspace.xml	Tue Nov 24 04:39:25 2015 +0900
@@ -2,11 +2,8 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="0a04b9e3-21eb-43ee-b441-59e664eecd89" name="Default" comment="settingsChanged">
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/gradle.xml" afterPath="$PROJECT_DIR$/.idea/gradle.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java" afterPath="$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java" afterPath="$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/CheckDelayReply.java" afterPath="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/CheckDelayReply.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java" afterPath="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java" />
     </list>
     <ignored path="TreeVNC.iws" />
@@ -46,7 +43,7 @@
             <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java">
               <provider selected="true" editor-type-id="text-editor">
                 <state vertical-scroll-proportion="0.0">
-                  <caret line="26" column="0" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
+                  <caret line="64" column="29" selection-start-line="64" selection-start-column="29" selection-end-line="64" selection-end-column="29" />
                   <folding />
                 </state>
               </provider>
@@ -100,28 +97,19 @@
           <file leaf-file-name="TreeRFBProto.java" pinned="false" current-in-tab="true">
             <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.4257975">
-                  <caret line="233" column="64" selection-start-line="233" selection-start-column="64" selection-end-line="233" selection-end-column="64" />
+                <state vertical-scroll-proportion="0.5502793">
+                  <caret line="243" column="68" selection-start-line="243" selection-start-column="68" selection-end-line="243" selection-end-column="68" />
                   <folding>
                     <element signature="imports" expanded="true" />
-                    <element signature="e#13067#13393#0" expanded="true" />
-                    <element signature="e#13392#13393#0" expanded="true" />
-                    <element signature="e#27776#27788#0" expanded="true" />
+                    <element signature="e#12996#13322#0" expanded="true" />
+                    <element signature="e#13321#13322#0" expanded="true" />
+                    <element signature="e#27705#27717#0" expanded="true" />
+                    <element signature="e#28150#28162#0" expanded="true" />
                   </folding>
                 </state>
               </provider>
             </entry>
           </file>
-          <file leaf-file-name="SendSound.java" pinned="false" current-in-tab="false">
-            <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/SendSound.java">
-              <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.0">
-                  <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
-                  <folding />
-                </state>
-              </provider>
-            </entry>
-          </file>
         </leaf>
       </split-first>
       <split-second>
@@ -193,13 +181,13 @@
           <file leaf-file-name="ReceiverTask.java" pinned="false" current-in-tab="false">
             <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="-9.037037">
-                  <caret line="380" column="0" selection-start-line="380" selection-start-column="0" selection-end-line="380" selection-end-column="0" />
+                <state vertical-scroll-proportion="-15.703704">
+                  <caret line="329" column="58" selection-start-line="329" selection-start-column="58" selection-end-line="329" selection-end-column="58" />
                   <folding>
-                    <element signature="e#0#18639#0" expanded="true" />
+                    <element signature="e#0#18212#0" expanded="true" />
                     <element signature="imports" expanded="true" />
-                    <element signature="e#4918#5317#0" expanded="true" />
-                    <element signature="e#5316#5317#0" expanded="true" />
+                    <element signature="e#4658#5057#0" expanded="true" />
+                    <element signature="e#5056#5057#0" expanded="true" />
                   </folding>
                 </state>
               </provider>
@@ -230,7 +218,7 @@
           <file leaf-file-name="CheckDelayReply.java" pinned="false" current-in-tab="true">
             <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/CheckDelayReply.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.52011096">
+                <state vertical-scroll-proportion="0.5047106">
                   <caret line="31" column="25" selection-start-line="31" selection-start-column="25" selection-end-line="31" selection-end-column="25" />
                   <folding />
                 </state>
@@ -553,10 +541,10 @@
         <option value="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingNetworkConnectionWorker.java" />
         <option value="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/CheckDelay.java" />
         <option value="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/SendCheckDelay.java" />
+        <option value="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/CheckDelayReply.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java" />
         <option value="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java" />
-        <option value="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/CheckDelayReply.java" />
       </list>
     </option>
   </component>
@@ -926,7 +914,7 @@
     <property name="settings.editor.selected.configurable" value="preferences.editor" />
     <property name="settings.editor.splitter.proportion" value="0.2" />
   </component>
-  <component name="RunManager" selected="Application.TreeViewer">
+  <component name="RunManager" selected="Application.TreeeViewer -d --checkDelay">
     <configuration default="false" name="TreeViewer" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
         <pattern>
@@ -1245,6 +1233,21 @@
       <ConfigurationWrapper RunnerId="Run" />
       <method />
     </configuration>
+    <configuration default="false" name="TreeeViewer -d --checkDelay" type="Application" factoryName="Application">
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+      <option name="MAIN_CLASS_NAME" value="com.glavsoft.viewer.TreeViewer" />
+      <option name="VM_PARAMETERS" value="" />
+      <option name="PROGRAM_PARAMETERS" value="-d --showTree --checkDelay" />
+      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
+      <option name="ENV_VARIABLES" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <module name="TreeVNC" />
+      <envs />
+      <method />
+    </configuration>
     <configuration default="false" name="TreeViewer -d --filterSingleDisplay" type="Application" factoryName="Application">
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
       <option name="MAIN_CLASS_NAME" value="com.glavsoft.viewer.TreeViewer" />
@@ -1278,12 +1281,13 @@
       </ExternalSystemSettings>
       <method />
     </configuration>
-    <list size="5">
+    <list size="6">
       <item index="0" class="java.lang.String" itemvalue="Application.TreeeViewer -d" />
-      <item index="1" class="java.lang.String" itemvalue="Application.TreeViewer -d --filterSingleDisplay" />
-      <item index="2" class="java.lang.String" itemvalue="Gradle.gradle build" />
+      <item index="1" class="java.lang.String" itemvalue="Application.TreeeViewer -d --checkDelay" />
+      <item index="2" class="java.lang.String" itemvalue="Application.TreeViewer -d --filterSingleDisplay" />
       <item index="3" class="java.lang.String" itemvalue="Application.TreeViewer" />
       <item index="4" class="java.lang.String" itemvalue="Application.IsRetina" />
+      <item index="5" class="java.lang.String" itemvalue="Gradle.gradle build" />
     </list>
     <recent_temporary>
       <list size="2">
@@ -1336,7 +1340,7 @@
       <window_info id="Documentation" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="FLOATING" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" x="100" y="123" width="1720" height="977" />
       <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.28743067" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.28743067" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32988676" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
       <window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.18020834" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
@@ -1346,7 +1350,7 @@
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3077634" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3077634" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
@@ -1396,13 +1400,13 @@
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java</url>
-          <line>404</line>
+          <line>396</line>
           <properties />
           <option name="timeStamp" value="75" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>527</line>
+          <line>526</line>
           <properties />
           <option name="timeStamp" value="76" />
         </line-breakpoint>
@@ -1510,13 +1514,13 @@
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>945</line>
+          <line>946</line>
           <properties />
           <option name="timeStamp" value="186" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>965</line>
+          <line>966</line>
           <properties />
           <option name="timeStamp" value="187" />
         </line-breakpoint>
@@ -1570,13 +1574,13 @@
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>949</line>
+          <line>950</line>
           <properties />
           <option name="timeStamp" value="209" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>493</line>
+          <line>492</line>
           <properties />
           <option name="timeStamp" value="212" />
         </line-breakpoint>
@@ -1588,7 +1592,7 @@
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>976</line>
+          <line>977</line>
           <properties />
           <option name="timeStamp" value="217" />
         </line-breakpoint>
@@ -1606,13 +1610,7 @@
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>324</line>
-          <properties />
-          <option name="timeStamp" value="228" />
-        </line-breakpoint>
-        <line-breakpoint type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>816</line>
+          <line>817</line>
           <properties />
           <option name="timeStamp" value="230" />
         </line-breakpoint>
@@ -1648,13 +1646,13 @@
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>641</line>
+          <line>640</line>
           <properties />
           <option name="timeStamp" value="264" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java</url>
-          <line>163</line>
+          <line>158</line>
           <properties />
           <option name="timeStamp" value="270" />
         </line-breakpoint>
@@ -1672,17 +1670,11 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java</url>
-          <line>125</line>
+          <line>120</line>
           <properties />
           <option name="timeStamp" value="281" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java</url>
-          <line>240</line>
-          <properties />
-          <option name="timeStamp" value="283" />
-        </line-breakpoint>
-        <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/FramebufferUpdateRectangle.java</url>
           <line>65</line>
           <properties />
@@ -1690,13 +1682,7 @@
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>695</line>
-          <properties />
-          <option name="timeStamp" value="288" />
-        </line-breakpoint>
-        <line-breakpoint type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>736</line>
+          <line>737</line>
           <properties />
           <option name="timeStamp" value="290" />
         </line-breakpoint>
@@ -1708,21 +1694,33 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java</url>
-          <line>330</line>
+          <line>321</line>
           <properties />
           <option name="timeStamp" value="294" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java</url>
-          <line>380</line>
+          <line>372</line>
           <properties />
           <option name="timeStamp" value="295" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
+          <line>323</line>
+          <properties />
+          <option name="timeStamp" value="297" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
+          <line>695</line>
+          <properties />
+          <option name="timeStamp" value="298" />
+        </line-breakpoint>
       </breakpoints>
       <breakpoints-dialog>
         <breakpoints-dialog />
       </breakpoints-dialog>
-      <option name="time" value="296" />
+      <option name="time" value="299" />
     </breakpoint-manager>
     <watches-manager />
   </component>
@@ -1830,13 +1828,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/SenderTask.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="64" column="0" selection-start-line="64" selection-start-column="0" selection-end-line="64" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/test/IsRetina.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
@@ -1925,14 +1916,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/SendSound.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
@@ -2112,27 +2095,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="26" column="0" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-9.037037">
-          <caret line="380" column="0" selection-start-line="380" selection-start-column="0" selection-end-line="380" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#18639#0" expanded="true" />
-            <element signature="imports" expanded="true" />
-            <element signature="e#4918#5317#0" expanded="true" />
-            <element signature="e#5316#5317#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/ScreenChangeRequest.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
@@ -2141,27 +2103,65 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/SenderTask.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.4257975">
-          <caret line="233" column="64" selection-start-line="233" selection-start-column="64" selection-end-line="233" selection-end-column="64" />
+        <state vertical-scroll-proportion="0.0">
+          <caret line="45" column="14" selection-start-line="45" selection-start-column="14" selection-end-line="45" selection-end-column="14" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-15.703704">
+          <caret line="329" column="58" selection-start-line="329" selection-start-column="58" selection-end-line="329" selection-end-column="58" />
           <folding>
+            <element signature="e#0#18212#0" expanded="true" />
             <element signature="imports" expanded="true" />
-            <element signature="e#13067#13393#0" expanded="true" />
-            <element signature="e#13392#13393#0" expanded="true" />
-            <element signature="e#27776#27788#0" expanded="true" />
+            <element signature="e#4658#5057#0" expanded="true" />
+            <element signature="e#5056#5057#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/SendSound.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.020188425">
+          <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0">
+          <caret line="64" column="29" selection-start-line="64" selection-start-column="29" selection-end-line="64" selection-end-column="29" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/CheckDelayReply.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.52011096">
+        <state vertical-scroll-proportion="0.5047106">
           <caret line="31" column="25" selection-start-line="31" selection-start-column="25" selection-end-line="31" selection-end-column="25" />
           <folding />
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.5502793">
+          <caret line="243" column="68" selection-start-line="243" selection-start-column="68" selection-end-line="243" selection-end-column="68" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#12996#13322#0" expanded="true" />
+            <element signature="e#13321#13322#0" expanded="true" />
+            <element signature="e#27705#27717#0" expanded="true" />
+            <element signature="e#28150#28162#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
   </component>
   <component name="hg4idea.settings">
     <option name="CHECK_INCOMING_OUTGOING" value="true" />
--- a/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java	Tue Nov 24 02:18:51 2015 +0900
+++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java	Tue Nov 24 04:39:25 2015 +0900
@@ -62,7 +62,8 @@
             zrleLength = reader.readInt32();
         }
         if (rect.getEncodingType() == EncodingType.CHECK_DELAY) {
-            return zrleLength + 28;
+            // plus time byte
+            return zrleLength + 20 + 8;
         }
         return zrleLength + 20;
     }
--- a/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java	Tue Nov 24 02:18:51 2015 +0900
+++ b/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java	Tue Nov 24 04:39:25 2015 +0900
@@ -99,11 +99,6 @@
         if(rfb.isTreeManager()) {
             fullscreenFbUpdateIncrementalRequest.sendFullScreenRequest();
             connectionFinished();
-            if(rfb.checkDelay) {
-                SendCheckDelay sendCheckDelay = new SendCheckDelay(rfb);
-                Thread sendCheckDelayThread = new Thread(sendCheckDelay, "send-check-delay");
-                sendCheckDelayThread.start();
-            }
             if(rfb.fixingSize) {
                 timer = new Timer("framebufferUpdate-request-timer", true);
                 timer.schedule(new TimerTask() {
@@ -238,10 +233,6 @@
             while (numberOfRectangles-- > 0) {
                 FramebufferUpdateRectangle rect = new FramebufferUpdateRectangle();
                 rect.fill(reader);
-                if(rfb.isTreeManager() && rfb.checkDelay) {
-                    long time = System.currentTimeMillis();
-                    System.out.println(time + " : size : " + rect.width * rect.height);
-                }
                 Decoder decoder = decoders.getDecoderByType(rect.getEncodingType());
                 logger.finest(rect.toString() + (0 == numberOfRectangles ? "\n---" : ""));
                 if (decoder != null) {
@@ -336,6 +327,7 @@
                     reader.readBytes(24);
                     decoder = decoders.getDecoderByType(EncodingType.ZRLEE);
                     decoder.decode(reader, renderer, rect);  // TreeVNC processing here
+                    repaintController.repaintBitmap(rect);
                 } else if (rect.getEncodingType() == EncodingType.SOUND) {
                     // SOUNDを受信した時の処理を
                 } else if (rect.getEncodingType() == EncodingType.ERROR_ANNOUNCE) {
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java	Tue Nov 24 02:18:51 2015 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java	Tue Nov 24 04:39:25 2015 +0900
@@ -242,8 +242,7 @@
                                 String address = new String(byteAddress, "UTF-8");
                                 int nodeNum = getNodeNum(port, address);
                                 Long delay = System.currentTimeMillis() - time;
-                                double halfDelay = (double) delay;
-                                System.out.println(System.currentTimeMillis() + " : receive checkDelay : nodeNum" + nodeNum + ", port : " + port + ", address : " + address + ", delay : " + halfDelay + ", size : " + dataLen);
+                                System.out.println(System.currentTimeMillis() + " : receive checkDelay : nodeNum" + nodeNum + ", port : " + port + ", address : " + address + ", delay : " + delay + ", size : " + dataLen);
                             }
                             // case of client node.
                         } else if (b[0] == ClientToServerMessage.SERVER_CHANGE_REQUEST) {
@@ -712,8 +711,11 @@
                     blen.putInt(len2);
                     blen.flip();
                     bufs.addFirst(blen);
-                    LinkedList<ByteBuffer> bufs2 = (LinkedList<ByteBuffer>)bufs.clone();
-                    bufs.addFirst(header);
+                    if (checkDelay) {
+                        bufs = createCheckDelayHeader(bufs, header);
+                    } else {
+                        bufs.addFirst(header);
+                    }
                     if (addSerialNum) {
                         addSerialNumber(bufs);
                     }
@@ -724,7 +726,6 @@
                     } else {
                         multicastqueue.put(bufs);
                     }
-                    sendCheckDelay(bufs2, header);
                 } catch (IOException e) {
                     throw new TransportException(e);
                 } catch (DataFormatException e) {
@@ -756,14 +757,14 @@
         // here.
     }
 
-    public void sendCheckDelay(LinkedList<ByteBuffer> checkDelay, ByteBuffer header) {
+    public LinkedList<ByteBuffer> createCheckDelayHeader(LinkedList<ByteBuffer> checkDelay, ByteBuffer header) {
         int x = (int)header.getShort(4);
         int y = (int)header.getShort(6);
         int width = (int)header.getShort(8);
         int height = (int)header.getShort(10);
         long time = System.currentTimeMillis();
         checkDelay.addFirst(new CheckDelay(x, y, width, height, time, EncodingType.CHECK_DELAY).getMessage());
-        multicastqueue.put(checkDelay);
+        return checkDelay;
     }
 
     public void setId(short id) {