comparison src/main/java/org/msgpack/unpacker/MessagePackBufferUnpacker.java @ 0:cb825acd883a

first commit
author sugi
date Sat, 18 Oct 2014 15:06:15 +0900
parents
children d5cc3aef5b74
comparison
equal deleted inserted replaced
-1:000000000000 0:cb825acd883a
1 //
2 // MessagePack for Java
3 //
4 // Copyright (C) 2009 - 2013 FURUHASHI Sadayuki
5 //
6 // Licensed under the Apache License, Version 2.0 (the "License");
7 // you may not use this file except in compliance with the License.
8 // You may obtain a copy of the License at
9 //
10 // http://www.apache.org/licenses/LICENSE-2.0
11 //
12 // Unless required by applicable law or agreed to in writing, software
13 // distributed under the License is distributed on an "AS IS" BASIS,
14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 // See the License for the specific language governing permissions and
16 // limitations under the License.
17 //
18 package org.msgpack.unpacker;
19
20 import java.nio.ByteBuffer;
21
22 import org.msgpack.MessagePack;
23 import org.msgpack.io.LinkedBufferInput;
24
25 public class MessagePackBufferUnpacker extends MessagePackUnpacker implements BufferUnpacker {
26 private static final int DEFAULT_BUFFER_SIZE = 512; // TODO default buffer
27 // size
28
29 public MessagePackBufferUnpacker(MessagePack msgpack) {
30 this(msgpack, DEFAULT_BUFFER_SIZE);
31 }
32
33 public MessagePackBufferUnpacker(MessagePack msgpack, int bufferSize) {
34 super(msgpack, new LinkedBufferInput(bufferSize));
35 }
36
37 @Override
38 public MessagePackBufferUnpacker wrap(byte[] b) {
39 return wrap(b, 0, b.length);
40 }
41
42 @Override
43 public MessagePackBufferUnpacker wrap(byte[] b, int off, int len) {
44 ((LinkedBufferInput) in).clear();
45 ((LinkedBufferInput) in).feed(b, off, len, true);
46 return this;
47 }
48
49 @Override
50 public MessagePackBufferUnpacker wrap(ByteBuffer buf) {
51 ((LinkedBufferInput) in).clear();
52 ((LinkedBufferInput) in).feed(buf, true);
53 return this;
54 }
55
56 @Override
57 public MessagePackBufferUnpacker feed(byte[] b) {
58 ((LinkedBufferInput) in).feed(b);
59 return this;
60 }
61
62 @Override
63 public MessagePackBufferUnpacker feed(byte[] b, boolean reference) {
64 ((LinkedBufferInput) in).feed(b, reference);
65 return this;
66 }
67
68 @Override
69 public MessagePackBufferUnpacker feed(byte[] b, int off, int len) {
70 ((LinkedBufferInput) in).feed(b, off, len);
71 return this;
72 }
73
74 @Override
75 public MessagePackBufferUnpacker feed(byte[] b, int off, int len, boolean reference) {
76 ((LinkedBufferInput) in).feed(b, off, len, reference);
77 return this;
78 }
79
80 @Override
81 public MessagePackBufferUnpacker feed(ByteBuffer b) {
82 ((LinkedBufferInput) in).feed(b);
83 return this;
84 }
85
86 @Override
87 public MessagePackBufferUnpacker feed(ByteBuffer buf, boolean reference) {
88 ((LinkedBufferInput) in).feed(buf, reference);
89 return this;
90 }
91
92 @Override
93 public int getBufferSize() {
94 return ((LinkedBufferInput) in).getSize();
95 }
96
97 @Override
98 public void copyReferencedBuffer() {
99 ((LinkedBufferInput) in).copyReferencedBuffer();
100 }
101
102 @Override
103 public void clear() {
104 ((LinkedBufferInput) in).clear();
105 reset();
106 }
107 }