Main Page
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
modules
common
target
Linux-x86_64
include
aerospike
target/Linux-x86_64/include/aerospike/as_msgpack.h
Go to the documentation of this file.
1
/******************************************************************************
2
* Copyright 2008-2013 by Aerospike.
3
*
4
* Permission is hereby granted, free of charge, to any person obtaining a copy
5
* of this software and associated documentation files (the "Software"), to
6
* deal in the Software without restriction, including without limitation the
7
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8
* sell copies of the Software, and to permit persons to whom the Software is
9
* furnished to do so, subject to the following conditions:
10
*
11
* The above copyright notice and this permission notice shall be included in
12
* all copies or substantial portions of the Software.
13
*
14
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
20
* IN THE SOFTWARE.
21
*****************************************************************************/
22
#pragma once
23
24
#include <aerospike/as_serializer.h>
25
26
#define AS_PACKER_BUFFER_SIZE 8192
27
28
typedef
struct
as_packer_buffer
{
29
struct
as_packer_buffer
*
next
;
30
unsigned
char
*
buffer
;
31
int
length
;
32
}
as_packer_buffer
;
33
34
typedef
struct
as_packer
{
35
struct
as_packer_buffer
*
head
;
36
struct
as_packer_buffer
*
tail
;
37
unsigned
char
*
buffer
;
38
int
offset
;
39
int
capacity
;
40
}
as_packer
;
41
42
typedef
struct
as_unpacker
{
43
unsigned
char
*
buffer
;
44
int
offset
;
45
int
length
;
46
}
as_unpacker
;
47
48
/******************************************************************************
49
* FUNCTIONS
50
******************************************************************************/
51
52
as_serializer
*
as_msgpack_new
();
53
as_serializer
*
as_msgpack_init
(
as_serializer
*);
54
55
int
as_pack_val
(
as_packer
* pk,
as_val
* val);
56
int
as_unpack_val
(
as_unpacker
* pk,
as_val
** val);
as_pack_val
int as_pack_val(as_packer *pk, as_val *val)
as_packer::head
struct as_packer_buffer * head
Definition:
src/include/aerospike/as_msgpack.h:35
as_packer::buffer
unsigned char * buffer
Definition:
src/include/aerospike/as_msgpack.h:37
as_unpacker::length
int length
Definition:
src/include/aerospike/as_msgpack.h:45
as_unpack_val
int as_unpack_val(as_unpacker *pk, as_val **val)
as_packer::tail
struct as_packer_buffer * tail
Definition:
src/include/aerospike/as_msgpack.h:36
as_val
Definition:
modules/common/src/include/aerospike/as_val.h:56
as_unpacker::buffer
unsigned char * buffer
Definition:
src/include/aerospike/as_msgpack.h:43
as_packer_buffer
Definition:
src/include/aerospike/as_msgpack.h:28
as_packer_buffer::buffer
unsigned char * buffer
Definition:
src/include/aerospike/as_msgpack.h:30
as_packer::offset
int offset
Definition:
src/include/aerospike/as_msgpack.h:38
as_msgpack_new
as_serializer * as_msgpack_new()
as_packer_buffer::next
struct as_packer_buffer * next
Definition:
src/include/aerospike/as_msgpack.h:29
as_packer::capacity
int capacity
Definition:
src/include/aerospike/as_msgpack.h:39
as_unpacker::offset
int offset
Definition:
src/include/aerospike/as_msgpack.h:44
as_serializer
Definition:
src/include/aerospike/as_serializer.h:40
as_packer_buffer::length
int length
Definition:
src/include/aerospike/as_msgpack.h:31
as_unpacker
Definition:
src/include/aerospike/as_msgpack.h:42
as_packer
Definition:
src/include/aerospike/as_msgpack.h:34
as_msgpack_init
as_serializer * as_msgpack_init(as_serializer *)