mirror of
https://github.com/msgpack/msgpack-c
synced 2026-06-08 16:11:40 +00:00
Updated v2_0_c_overview (markdown)
+5
-5
@@ -21,7 +21,7 @@ msgpack_packer_init(&pk, &sbuf, msgpack_sbuffer_write); /* initialize packer */
|
||||
```
|
||||
|
||||
### Buffers
|
||||
The buffers store packed byte data. The buffers are used by packer. msgpack-c provides four buffers. [sbuffer](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/sbuffer.h), [fbuffer](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/fbuffer.h), [zbuffer](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/zbuffer.h), and [vrefbuffer](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/vrefbuffer.h).
|
||||
The buffers store packed byte data. The buffers are used by packer. msgpack-c provides four buffers. [sbuffer](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/sbuffer.h), [fbuffer](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/fbuffer.h), [zbuffer](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/zbuffer.h), and [vrefbuffer](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/vrefbuffer.h).
|
||||
|
||||
`sbuffer` is a simple memory buffer. It uses `malloc`, `realloc`, and `free`. `fbuffer` is a file buffer. It uses FILE structure in C standard library. `zbuffer` is a compressing buffer using zlib. So packed data is compressed. `vrefbuffer` is an iovec based buffer. So packed data is stored as iovec.
|
||||
|
||||
@@ -30,10 +30,10 @@ All buffers have at least three functions. Initialize, Destroy, and Write.
|
||||
|
||||
|Buffer|Initialize|Destroy|Write|
|
||||
|---|---|---|---|
|
||||
|sbuffer|[msgpack_sbuffer_init](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/sbuffer.h#L41)|[msgpack_sbuffer_destroy](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/sbuffer.h#L46)|[msgpack_sbuffer_write](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/sbuffer.h#L67)|
|
||||
|zbuffer|[msgpack_zbuffer_init](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/zbuffer.h#L47)|[msgpack_zbuffer_destroy](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/zbuffer.h#L49)|[msgpack_zbuffer_write](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/zbuffer.h#L68)|
|
||||
|vrefbuffer|[msgpack_vrefbuffer_init](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/vrefbuffer.h#L74)|[msgpack_vrefbuffer_destroy](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/vrefbuffer.h#L77)|[msgpack_vrefbuffer_write](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/vrefbuffer.h#L82)|
|
||||
|fbuffer|fopen|fclose|[msgpack_fbuffer_write](https://github.com/msgpack/msgpack-c/blob/master/include/msgpack/fbuffer.h#L34)|
|
||||
|sbuffer|[msgpack_sbuffer_init](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/sbuffer.h#L33)|[msgpack_sbuffer_destroy](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/sbuffer.h#L38)|[msgpack_sbuffer_write](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/sbuffer.h#L59)|
|
||||
|zbuffer|[msgpack_zbuffer_init](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/zbuffer.h#L39)|[msgpack_zbuffer_destroy](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/zbuffer.h#L41)|[msgpack_zbuffer_write](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/zbuffer.h#L60)|
|
||||
|vrefbuffer|[msgpack_vrefbuffer_init](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/vrefbuffer.h#L66)|[msgpack_vrefbuffer_destroy](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/vrefbuffer.h#L69)|[msgpack_vrefbuffer_write](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/vrefbuffer.h#L74)|
|
||||
|fbuffer|fopen|fclose|[msgpack_fbuffer_write](https://github.com/msgpack/msgpack-c/blob/c_master/include/msgpack/fbuffer.h#L26)|
|
||||
|
||||
When you initialize packer, you pass a pointer to the buffer as the second argument, and pass write function pointer as the third argument. Packer calls the write function through the pointer internally.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user