Skip to content

Commit 6d9937a

Browse files
committed
msgpack#129: Add reset(MessageBuffer) method
1 parent 4c014e0 commit 6d9937a

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

msgpack-core/src/main/java/org/msgpack/core/buffer/ArrayBufferInput.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,17 @@ public ArrayBufferInput(byte[] arr, int offset, int length) {
2020
this.buffer = MessageBuffer.wrap(checkNotNull(arr, "input array is null")).slice(offset, length);
2121
}
2222

23-
public void reset(byte[] arr) {
24-
this.buffer = MessageBuffer.wrap(checkNotNull(arr, "input array is null"));
23+
public void reset(MessageBuffer buf) {
24+
this.buffer = buf;
2525
this.isRead = false;
2626
}
2727

28+
public void reset(byte[] arr) {
29+
reset(MessageBuffer.wrap(checkNotNull(arr, "input array is null")));
30+
}
31+
2832
public void reset(byte[] arr, int offset, int len) {
29-
this.buffer = MessageBuffer.wrap(checkNotNull(arr, "input array is null")).slice(offset, len);
30-
this.isRead = false;
33+
reset(MessageBuffer.wrap(checkNotNull(arr, "input array is null")).slice(offset, len));
3134
}
3235

3336
@Override

msgpack-core/src/test/scala/org/msgpack/core/MessageUnpackerTest.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -531,13 +531,14 @@ class MessageUnpackerTest extends MessagePackSpec {
531531
}
532532

533533
// TODO: change tag 'ignore' to 'in'
534-
"improve the performance via reset method" taggedAs("reset") ignore {
534+
"improve the performance via reset method" taggedAs("reset-arr") in {
535535

536536
val out = new ByteArrayOutputStream
537537
val packer = MessagePackFactory.newDefaultPacker(out)
538538
packer.packInt(0)
539539
packer.flush
540540
val arr = out.toByteArray
541+
val mb = MessageBuffer.wrap(arr)
541542

542543
val N = 1000
543544
val t = time("unpacker", repeat = 10) {
@@ -556,7 +557,7 @@ class MessageUnpackerTest extends MessagePackSpec {
556557
IOUtil.withResource(MessagePackFactory.newDefaultUnpacker(arr)) { unpacker =>
557558
val buf = new ArrayBufferInput(arr)
558559
for (i <- 0 until N) {
559-
buf.reset(arr)
560+
buf.reset(mb)
560561
unpacker.reset(buf)
561562
unpacker.unpackInt
562563
unpacker.close

0 commit comments

Comments
 (0)