versadac
1
versadac - Scalable Recorder Firmware
Main Page
Classes
Files
File List
File Members
core
libjson
_internal
Source
JSONMemoryPool.h
1
#ifndef LIBJSON_GUARD_MEMORY_POOL_H
2
#define LIBJSON_GUARD_MEMORY_POOL_H
3
4
#ifdef JSON_MEMORY_POOL
5
6
#include "../Dependencies/mempool++/mempool.h"
7
8
//this macro expands to the number of bytes a pool gets based on block size and number of 32s of the total pool it gets
9
#define jsonPoolPart(bytes_per_block, thirty_seconds_of_mem) bytes_per_block, ((thirty_seconds_of_mem * JSON_MEMORY_POOL / 32) / bytes_per_block)
10
11
#ifdef JSON_PREPARSE
12
#define NODEPOOL jsonPoolPart(sizeof(JSONNode), 1)
13
#define INTERNALNODEPOOL jsonPoolPart(sizeof(internalJSONNode), 3)
14
#define MEMPOOL_1 jsonPoolPart(8, 2)
15
#define MEMPOOL_2 jsonPoolPart(16, 2)
16
#define MEMPOOL_3 jsonPoolPart(32, 2)
17
#define MEMPOOL_4 jsonPoolPart(64, 2)
18
#define MEMPOOL_5 jsonPoolPart(128, 3)
19
#define MEMPOOL_6 jsonPoolPart(256, 4)
20
#define MEMPOOL_7 jsonPoolPart(512, 5)
21
#define MEMPOOL_8 jsonPoolPart(4096, 8)
22
#else
23
#define NODEPOOL jsonPoolPart(sizeof(JSONNode), 2)
24
#define INTERNALNODEPOOL jsonPoolPart(sizeof(internalJSONNode), 7)
25
#define MEMPOOL_1 jsonPoolPart(8, 1)
26
#define MEMPOOL_2 jsonPoolPart(16, 1)
27
#define MEMPOOL_3 jsonPoolPart(32, 1)
28
#define MEMPOOL_4 jsonPoolPart(64, 1)
29
#define MEMPOOL_5 jsonPoolPart(128, 3)
30
#define MEMPOOL_6 jsonPoolPart(256, 3)
31
#define MEMPOOL_7 jsonPoolPart(512, 5)
32
#define MEMPOOL_8 jsonPoolPart(4096, 8)
33
#endif
34
35
#endif
36
37
#endif
38
Generated on Wed Aug 19 2020 10:33:42 for versadac by
1.8.9.1