Skip to content

Commit 4f87db3

Browse files
committed
Add packer/unpacker default factory methods
1 parent c3d14e9 commit 4f87db3

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

msgpack-core/src/main/java/org/msgpack/core/MessagePackFactory.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,26 @@ public static MessagePacker newDefaultPacker(OutputStream out) {
3232
return DEFAULT.newPacker(out);
3333
}
3434

35+
public static MessagePacker newDefaultPacker(WritableByteChannel channel) {
36+
return DEFAULT.newPacker(channel);
37+
}
38+
39+
public static MessageUnpacker newDefaultUnpacker(InputStream in) {
40+
return DEFAULT.newUnpacker(in);
41+
}
42+
43+
public static MessageUnpacker newDefaultUnpacker(ReadableByteChannel channel) {
44+
return DEFAULT.newUnpacker(channel);
45+
}
46+
47+
public static MessageUnpacker newDefaultUnpacker(byte[] arr) {
48+
return DEFAULT.newUnpacker(arr);
49+
}
50+
51+
public static MessageUnpacker newDefaultUnpacker(byte[] arr, int offset, int length) {
52+
return DEFAULT.newUnpacker(arr, offset, length);
53+
}
54+
3555

3656
/**
3757
* Create an MessagePacker that outputs the packed data to the specified stream

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -508,14 +508,25 @@ class MessageUnpackerTest extends MessagePackSpec {
508508

509509
val data2 = intSeq
510510
val b2 = createMessagePackData(packer => data2 foreach packer.packInt)
511-
unpacker.reset(new ArrayBufferInput(b2))
511+
val bi = new ArrayBufferInput(b2)
512+
unpacker.reset(bi)
512513
val unpacked2 = Array.newBuilder[Int]
513514
while(unpacker.hasNext) {
514515
unpacked2 += unpacker.unpackInt()
515516
}
516517
unpacker.close
517518
unpacked2.result shouldBe data2
518519

520+
// reused the buffer input instance
521+
bi.reset(b2)
522+
unpacker.reset(bi)
523+
val unpacked3 = Array.newBuilder[Int]
524+
while(unpacker.hasNext) {
525+
unpacked3 += unpacker.unpackInt()
526+
}
527+
unpacker.close
528+
unpacked3.result shouldBe data2
529+
519530
}
520531

521532
}

0 commit comments

Comments
 (0)