diff src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java @ 242:a640cd7001e1

fix checkdelay, and fix serial number option
author oc
date Mon, 13 Oct 2014 17:23:57 +0900
parents b21a7842a41d
children 0ed7719c1800
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java	Mon Oct 13 13:16:49 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java	Mon Oct 13 17:23:57 2014 +0900
@@ -435,15 +435,14 @@
         int width = context.getFbWidth();
         int height = context.getFbHeight();
         desktopSize.add(new UpdateRectangleMessage(width, height, EncodingType.INIT_DATA, context.getInitData(),id).getMessage());
-        if (addSerialNum) {
-            addSerialNumber(desktopSize);
-        }
+        addSerialNumber(desktopSize);
         multicastqueue.put(desktopSize);
     }
 
 
     public void addSerialNumber(LinkedList<ByteBuffer> bufs) {
-        ByteBuffer serialNum = multicastqueue.allocate(8);
+        ByteBuffer serialNum = multicastqueue.allocate(4+8); // addSerialNum flag + SerialNum
+        serialNum.putInt(1);
         serialNum.putLong(counter++);
         serialNum.flip();
         bufs.addFirst(serialNum);
@@ -565,10 +564,10 @@
             throws TransportException, UnsupportedEncodingException {
         LinkedList<ByteBuffer> bufs = new LinkedList<ByteBuffer>();
         ByteBuffer header = multicastqueue.allocate(16);
-        ByteBuffer serial = multicastqueue.allocate(8);
+        ByteBuffer serial = multicastqueue.allocate(4+8);
         if (!isTreeManager()) {
-            reader.readBytes(serial.array(),0,8);
-            serial.limit(8);
+            reader.readBytes(serial.array(),0,4+8);
+            serial.limit(4+8);
         }
         reader.mark(dataLen);
         reader.readBytes(header.array(), 0, 16);
@@ -605,9 +604,7 @@
                     blen.flip();
                     bufs.addFirst(blen);
                     bufs.addFirst(header);
-                    if (addSerialNum) {
-                        addSerialNumber(bufs);
-                    }
+                    addSerialNumber(bufs);
                     multicastqueue.put(bufs);
                 } catch (DataFormatException e) {
                     throw new TransportException(e);
@@ -625,9 +622,7 @@
                 b.limit(dataLen - 16);
                 bufs.add(b);
             }
-            if (addSerialNum) {
-                this.addSerialNumber(bufs);
-            }
+            this.addSerialNumber(bufs);
             multicastqueue.put(bufs);
 
             return;