8#include "dawn/porting/memory.hxx"
16using namespace dawn::wakaama_internal;
20alignas(std::max_align_t) uint8_t g_pool[CONFIG_DAWN_PROTO_WAKAAMA_MEMORY_POOL_SIZE];
26 return dawn::porting::memory_pool_init(&g_allocator,
"wakaama", g_pool,
sizeof(g_pool)) == OK;
32 void *lwm2m_malloc(
size_t size)
34 std::lock_guard<std::mutex> lock(g_lock);
43 allocSize = size == 0 ? 1 : size;
44 ptr = dawn::porting::memory_pool_zalloc(&g_allocator, allocSize);
47 DAWNERR(
"Wakaama allocator exhausted: size=%zu pool=%zu\n",
49 static_cast<size_t>(
sizeof(g_pool)));
55 void lwm2m_free(
void *ptr)
62 std::lock_guard<std::mutex> lock(g_lock);
63 dawn::porting::memory_pool_free(&g_allocator, ptr);
66 char *lwm2m_strdup(
const char *str)
76 len = std::strlen(str) + 1;
77 dup =
static_cast<char *
>(lwm2m_malloc(len));
80 std::memcpy(dup, str, len);
86 int lwm2m_strncmp(
const char *str1,
const char *str2,
size_t len)
88 return std::strncmp(str1, str2, len);
91 int lwm2m_strcasecmp(
const char *str1,
const char *str2)
93 return strcasecmp(str1, str2);
96 time_t lwm2m_gettime(
void)
Platform-backed memory pool handle.