Skip to content

Commit efbee9e

Browse files
committed
designed getLastMessageSize and setMessageSizeLimit method APIs (not implemented yet)
1 parent 80b125a commit efbee9e

File tree

4 files changed

+30
-9
lines changed

4 files changed

+30
-9
lines changed

src/main/java/org/msgpack/unpacker/Converter.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,5 +406,15 @@ public void reset() {
406406
@Override
407407
public void close() throws IOException {
408408
}
409+
410+
@Override
411+
public long getLastMessageSize() {
412+
throw new UnsupportedOperationException("getLastMessageSize()");
413+
}
414+
415+
@Override
416+
public void setMessageSizeLimit(long size) {
417+
throw new UnsupportedOperationException("setMessageSizeLimit()");
418+
}
409419
}
410420

src/main/java/org/msgpack/unpacker/MessagePackUnpacker.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,16 @@
3030

3131

3232
public class MessagePackUnpacker extends AbstractUnpacker {
33-
protected final Input in;
34-
3533
private static final byte REQUIRE_TO_READ_HEAD = (byte)0xc6;
3634

35+
protected final Input in;
36+
private final UnpackerStack stack = new UnpackerStack();
37+
3738
private byte headByte = REQUIRE_TO_READ_HEAD;
3839

3940
private byte[] raw;
4041
private int rawFilled;
4142

42-
private final UnpackerStack stack = new UnpackerStack();
43-
4443
private final IntAccept intAccept = new IntAccept();
4544
private final LongAccept longAccept = new LongAccept();
4645
private final BigIntegerAccept bigIntegerAccept = new BigIntegerAccept();
@@ -558,5 +557,15 @@ public void reset() {
558557
public void close() throws IOException {
559558
in.close();
560559
}
560+
561+
@Override
562+
public long getLastMessageSize() {
563+
return in.getSize();
564+
}
565+
566+
@Override
567+
public void setMessageSizeLimit(long size) {
568+
in.resetSize();
569+
}
561570
}
562571

src/main/java/org/msgpack/unpacker/Unpacker.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ public interface Unpacker extends Iterable<Value>, Closeable {
4040

4141
public <T> T read(T to, Template<T> tmpl) throws IOException;
4242

43-
public void skip() throws IOException;
4443

44+
public void skip() throws IOException;
4545

4646
public int readArrayBegin() throws IOException;
4747

@@ -86,5 +86,10 @@ public interface Unpacker extends Iterable<Value>, Closeable {
8686

8787

8888
public UnpackerIterator iterator();
89+
90+
91+
public long getLastMessageSize();
92+
93+
public void setMessageSizeLimit(long size);
8994
}
9095

src/main/java/org/msgpack/unpacker/UnpackerStack.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,9 @@ public void checkCount() {
5757

5858
if(types[top] == TYPE_ARRAY) {
5959
throw new MessageTypeException("Array is end but readArrayEnd() is not called");
60-
6160
} else if(types[top] == TYPE_MAP) {
6261
throw new MessageTypeException("Map is end but readMapEnd() is not called");
63-
64-
} else {
65-
// empty
62+
} else { // empty
6663
return;
6764
}
6865
}

0 commit comments

Comments
 (0)