From fc5e8ddca151e60e02ef8b3be68f1c2590b56db8 Mon Sep 17 00:00:00 2001 From: Kazuki Ohta Date: Thu, 29 Apr 2010 21:27:41 +0900 Subject: [PATCH] java: add Unpacker.feed() function for java.nio.ByteBuffer --- java/src/main/java/org/msgpack/Unpacker.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/java/src/main/java/org/msgpack/Unpacker.java b/java/src/main/java/org/msgpack/Unpacker.java index 458ffee0..c8a88234 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 { @@ -103,6 +104,14 @@ public class Unpacker extends UnpackerImpl implements Iterable { 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); }