]> source.dussan.org Git - tigervnc.git/commitdiff
Added a method for reading into a ByteBuffer
authorBrian P. Hinz <bphinz@users.sf.net>
Thu, 20 Oct 2016 22:04:37 +0000 (18:04 -0400)
committerBrian P. Hinz <bphinz@users.sf.net>
Thu, 20 Oct 2016 22:04:37 +0000 (18:04 -0400)
java/com/tigervnc/rdr/InStream.java

index 3938a32729fc40d70190dd2f472984704c1c7da8..f713d7383a6b1f45a86932e693b426eb3b27f338 100644 (file)
@@ -23,6 +23,8 @@
 
 package com.tigervnc.rdr;
 
+import java.nio.*;
+
 import com.tigervnc.network.*;
 
 abstract public class InStream {
@@ -98,6 +100,16 @@ abstract public class InStream {
 
   // readBytes() reads an exact number of bytes into an array at an offset.
 
+  public void readBytes(ByteBuffer data, int length) {
+    int dataEnd = data.mark().position() + length;
+    while (data.position() < dataEnd) {
+      int n = check(1, dataEnd - data.position());
+      data.put(b, ptr, n);
+      ptr += n;
+    }
+    data.reset();
+  }
+
   public void readBytes(byte[] data, int dataPtr, int length) {
     int dataEnd = dataPtr + length;
     while (dataPtr < dataEnd) {