summaryrefslogtreecommitdiff
path: root/cpp/src/msgpack/unpack.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/msgpack/unpack.hpp')
-rw-r--r--cpp/src/msgpack/unpack.hpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/cpp/src/msgpack/unpack.hpp b/cpp/src/msgpack/unpack.hpp
index 56ce0f6..7b45017 100644
--- a/cpp/src/msgpack/unpack.hpp
+++ b/cpp/src/msgpack/unpack.hpp
@@ -24,8 +24,9 @@
#include <memory>
#include <stdexcept>
+// backward compatibility
#ifndef MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE
-#define MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE (32*1024)
+#define MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE MSGPACK_UNPACKER_INIT_BUFFER_SIZE
#endif
namespace msgpack {
@@ -64,12 +65,12 @@ private:
class unpacker : public msgpack_unpacker {
public:
- unpacker(size_t init_buffer_size = MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE);
+ unpacker(size_t init_buffer_size = MSGPACK_UNPACKER_INIT_BUFFER_SIZE);
~unpacker();
public:
/*! 1. reserve buffer. at least `size' bytes of capacity will be ready */
- void reserve_buffer(size_t size);
+ void reserve_buffer(size_t size = MSGPACK_UNPACKER_RESERVE_SIZE);
/*! 2. read data to the buffer() up to buffer_capacity() bytes */
char* buffer();
@@ -160,7 +161,7 @@ private:
};
-static bool unpack(unpacked* result,
+static void unpack(unpacked* result,
const char* data, size_t len, size_t* offset = NULL);
@@ -312,7 +313,7 @@ inline void unpacker::remove_nonparsed_buffer()
}
-inline bool unpack(unpacked* result,
+inline void unpack(unpacked* result,
const char* data, size_t len, size_t* offset)
{
msgpack::object obj;
@@ -326,12 +327,12 @@ inline bool unpack(unpacked* result,
case UNPACK_SUCCESS:
result->get() = obj;
result->zone() = z;
- return false;
+ return;
case UNPACK_EXTRA_BYTES:
result->get() = obj;
result->zone() = z;
- return true;
+ return;
case UNPACK_CONTINUE:
throw unpack_error("insufficient bytes");