NAME¶
Memory_Management - BSON Memory Abstraction
DESCRIPTION¶
Libbson contains a lightweight memory abstraction to make portability to new
platforms easier. Additionally, it helps us integrate with interesting
higher‐level languages. One caveat, however, is that Libbson is not
designed to deal with Out of Memory (OOM) situations. Doing so requires
extreme dilligence throughout the application stack that has rarely been
implemented correctly. This may change in the future. As it stands now,
Libbson will abort(3) under OOM situations.
To aid in language binding integration, Libbson allows for setting
a custom memory allocator via bson_mem_set_vtable(3)
bson_mem_restore_vtable(3)