summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/main/java/org/msgpack/Unpacker.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/java/src/main/java/org/msgpack/Unpacker.java b/java/src/main/java/org/msgpack/Unpacker.java
index 458ffee..c8a8823 100644
--- a/java/src/main/java/org/msgpack/Unpacker.java
+++ b/java/src/main/java/org/msgpack/Unpacker.java
@@ -21,6 +21,7 @@ import java.lang.Iterable;
import java.io.InputStream;
import java.io.IOException;
import java.util.Iterator;
+import java.nio.ByteBuffer;
import org.msgpack.impl.UnpackerImpl;
public class Unpacker extends UnpackerImpl implements Iterable<Object> {
@@ -103,6 +104,14 @@ public class Unpacker extends UnpackerImpl implements Iterable<Object> {
used += size;
}
+ public void feed(ByteBuffer buffer) {
+ int length = buffer.remaining();
+ if (length == 0) return;
+ reserveBuffer(length);
+ buffer.get(this.buffer, this.offset, length);
+ bufferConsumed(length);
+ }
+
public void feed(byte[] buffer) {
feed(buffer, 0, buffer.length);
}