diff options
| author | Kazuki Ohta <kazuki.ohta@gmail.com> | 2010-04-29 21:27:41 +0900 |
|---|---|---|
| committer | Kazuki Ohta <kazuki.ohta@gmail.com> | 2010-04-29 21:27:41 +0900 |
| commit | fc5e8ddca151e60e02ef8b3be68f1c2590b56db8 (patch) | |
| tree | 5b24f7662db4935b9ebdfa84e1e3fe8ad76a7861 /java/src | |
| parent | 6352472c5fbe1d293dfff2d48dca81ea91bba29f (diff) | |
| download | msgpack-python-fc5e8ddca151e60e02ef8b3be68f1c2590b56db8.tar.gz | |
java: add Unpacker.feed() function for java.nio.ByteBuffer
Diffstat (limited to 'java/src')
| -rw-r--r-- | java/src/main/java/org/msgpack/Unpacker.java | 9 |
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); } |
