Added a method for reading into a ByteBuffer
diff --git a/java/com/tigervnc/rdr/InStream.java b/java/com/tigervnc/rdr/InStream.java
index 3938a32..f713d73 100644
--- a/java/com/tigervnc/rdr/InStream.java
+++ b/java/com/tigervnc/rdr/InStream.java
@@ -23,6 +23,8 @@
package com.tigervnc.rdr;
+import java.nio.*;
+
import com.tigervnc.network.*;
abstract public class InStream {
@@ -98,6 +100,16 @@
// 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) {