10 #ifndef MSGPACK_UNPACKER_H 11 #define MSGPACK_UNPACKER_H 68 #ifndef MSGPACK_UNPACKER_INIT_BUFFER_SIZE 69 #define MSGPACK_UNPACKER_INIT_BUFFER_SIZE (64*1024) 100 #ifndef MSGPACK_UNPACKER_RESERVE_SIZE 101 #define MSGPACK_UNPACKER_RESERVE_SIZE (32*1024) 111 static inline bool msgpack_unpacker_reserve_buffer(
msgpack_unpacker* mpac,
size_t size);
129 static inline size_t msgpack_unpacker_buffer_capacity(
const msgpack_unpacker* mpac);
138 static inline void msgpack_unpacker_buffer_consumed(
msgpack_unpacker* mpac,
size_t size);
184 static inline size_t msgpack_unpacker_message_size(
const msgpack_unpacker* mpac);
199 static inline size_t msgpack_unpacker_parsed_size(
const msgpack_unpacker* mpac);
207 static inline bool msgpack_unpacker_reserve_buffer(
msgpack_unpacker* mpac,
size_t size)
209 if(mpac->
free >= size) {
return true; }
218 static inline size_t msgpack_unpacker_buffer_capacity(
const msgpack_unpacker* mpac)
223 static inline void msgpack_unpacker_buffer_consumed(
msgpack_unpacker* mpac,
size_t size)
229 static inline size_t msgpack_unpacker_message_size(
const msgpack_unpacker* mpac)
234 static inline size_t msgpack_unpacker_parsed_size(
const msgpack_unpacker* mpac)
247 if(result->
zone != NULL) {
256 if(result->
zone != NULL) {
msgpack_object data
Definition: unpack.h:30
const char size_t size_t * off
Definition: unpack_template.h:90
MSGPACK_DLLEXPORT msgpack_unpack_return msgpack_unpack_next(msgpack_unpacked *result, const char *data, size_t len, size_t *off)
MSGPACK_DLLEXPORT msgpack_unpack_return msgpack_unpack(const char *data, size_t len, size_t *off, msgpack_zone *result_zone, msgpack_object *result)
MSGPACK_DLLEXPORT msgpack_object msgpack_unpacker_data(msgpack_unpacker *mpac)
#define MSGPACK_DLLEXPORT
Definition: sysdep.h:37
MSGPACK_DLLEXPORT void msgpack_unpacker_free(msgpack_unpacker *mpac)
Frees a streaming deserializer created by msgpack_unpacker_new(size_t).
void * ctx
Definition: unpack.h:64
MSGPACK_DLLEXPORT msgpack_unpacker * msgpack_unpacker_new(size_t initial_buffer_size)
Creates a streaming deserializer.
struct msgpack_unpacker msgpack_unpacker
msgpack_unpack_return
Definition: unpack.h:33
MSGPACK_DLLEXPORT msgpack_unpack_return msgpack_unpacker_next(msgpack_unpacker *mpac, msgpack_unpacked *pac)
Deserializes one object.
size_t used
Definition: unpack.h:58
size_t parsed
Definition: unpack.h:61
MSGPACK_DLLEXPORT void msgpack_unpacker_reset_zone(msgpack_unpacker *mpac)
MSGPACK_DLLEXPORT bool msgpack_unpacker_init(msgpack_unpacker *mpac, size_t initial_buffer_size)
Initializes a streaming deserializer.
size_t free
Definition: unpack.h:59
MSGPACK_DLLEXPORT bool msgpack_unpacker_flush_zone(msgpack_unpacker *mpac)
MSGPACK_DLLEXPORT msgpack_zone * msgpack_unpacker_release_zone(msgpack_unpacker *mpac)
msgpack_zone * z
Definition: unpack.h:62
MSGPACK_DLLEXPORT void msgpack_unpacker_reset(msgpack_unpacker *mpac)
size_t off
Definition: unpack.h:60
msgpack_zone * zone
Definition: unpack.h:29
MSGPACK_DLLEXPORT int msgpack_unpacker_execute(msgpack_unpacker *mpac)
MSGPACK_DLLEXPORT void msgpack_unpacker_destroy(msgpack_unpacker *mpac)
Destroys a streaming deserializer initialized by msgpack_unpacker_init(msgpack_unpacker*, size_t).
struct msgpack_unpacked msgpack_unpacked
MSGPACK_DLLEXPORT bool msgpack_unpacker_expand_buffer(msgpack_unpacker *mpac, size_t size)
MSGPACK_DLLEXPORT void msgpack_zone_free(msgpack_zone *zone)
size_t initial_buffer_size
Definition: unpack.h:63
const char size_t len
Definition: unpack_template.h:89
char * buffer
Definition: unpack.h:57