aboutsummaryrefslogtreecommitdiff
path: root/src/shared/Config/dotconfpp/mempool.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/Config/dotconfpp/mempool.h')
-rw-r--r--src/shared/Config/dotconfpp/mempool.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/shared/Config/dotconfpp/mempool.h b/src/shared/Config/dotconfpp/mempool.h
index 6bf71eb6b54..81c01d15a58 100644
--- a/src/shared/Config/dotconfpp/mempool.h
+++ b/src/shared/Config/dotconfpp/mempool.h
@@ -1,13 +1,17 @@
+
#ifndef ASYNC_DNS_MEMPOOL_H
#define ASYNC_DNS_MEMPOOL_H
+
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
+
#undef free
#undef calloc
#undef strdup
+
class AsyncDNSMemPool
{
private:
@@ -15,23 +19,29 @@ private:
void * pool;
size_t pos;
size_t size;
+
PoolChunk(size_t _size);
~PoolChunk();
};
PoolChunk ** chunks;
size_t chunksCount;
size_t defaultSize;
+
size_t poolUsage;
size_t poolUsageCounter;
+
void addNewChunk(size_t size);
+
public:
AsyncDNSMemPool(size_t _defaultSize = 4096);
virtual ~AsyncDNSMemPool();
+
int initialize();
void free();
void * alloc(size_t size);
void * calloc(size_t size);
char * strdup(const char *str);
};
+
#endif