10#ifndef MSGPACK_ZBUFFER_H
11#define MSGPACK_ZBUFFER_H
36#ifndef MSGPACK_ZBUFFER_INIT_SIZE
37#define MSGPACK_ZBUFFER_INIT_SIZE 8192
40static inline bool msgpack_zbuffer_init(
57#ifndef MSGPACK_ZBUFFER_RESERVE_SIZE
58#define MSGPACK_ZBUFFER_RESERVE_SIZE 512
61static inline int msgpack_zbuffer_write(
void*
data,
const char*
buf,
size_t len);
67 int level,
size_t init_size)
70 zbuf->init_size = init_size;
88 if(!msgpack_zbuffer_init(
zbuf,
level, init_size)) {
98 msgpack_zbuffer_destroy(
zbuf);
104 size_t used = (
size_t)((
char *)(
zbuf->stream.next_out) -
zbuf->data);
105 size_t csize = used +
zbuf->stream.avail_out;
121static inline int msgpack_zbuffer_write(
void*
data,
const char*
buf,
size_t len)
131 while(
zbuf->stream.avail_in > 0) {
133 if(!msgpack_zbuffer_expand(
zbuf)) {
154 if(!msgpack_zbuffer_expand(
zbuf)) {
171 return (
size_t)((
char *)(
zbuf->stream.next_out) -
zbuf->data);
176 zbuf->stream.avail_out += (
uInt)((
char*)
zbuf->stream.next_out -
zbuf->data);
185 msgpack_zbuffer_reset_buffer(
zbuf);
194 zbuf->stream.avail_out = 0;
#define MSGPACK_ZBUFFER_RESERVE_SIZE
Definition zbuffer.h:58
size_t init_size
Definition zbuffer.h:33
z_stream stream
Definition zbuffer.h:31
char * data
Definition zbuffer.h:32
const char * data
Definition unpack_template.h:94
const char size_t len
Definition unpack_template.h:94