X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Fmemcached_memory_allocators.rst;h=12a4ce5e0a77a9b16852093d8fc8dcfcd2615559;hb=462de46ceddc9846bbefe91dca9915c5c538308d;hp=5de7fb67db8336c27d9c86e8a9074344ae930572;hpb=1edb76c1dfdf6307d010307b6f04bed3ce22e3a2;p=awesomized%2Flibmemcached diff --git a/docs/memcached_memory_allocators.rst b/docs/memcached_memory_allocators.rst index 5de7fb67..12a4ce5e 100644 --- a/docs/memcached_memory_allocators.rst +++ b/docs/memcached_memory_allocators.rst @@ -1,99 +1,65 @@ -.. highlight:: perl +======================================== +Use custom allocators for embedded usage +======================================== +.. index:: object: memcached_st -memcached_set_memory_allocators, memcached_get_memory_allocators, memcached_set_memory_allocators_context -********************************************************************************************************* +Manage memory allocator functions +-------- +SYNOPSIS +-------- -Manage memory allocator functions +#include -******* -LIBRARY -******* +.. c:function:: memcached_return_t memcached_set_memory_allocators (memcached_st *ptr, memcached_malloc_fn mem_malloc, memcached_free_fn mem_free, memcached_realloc_fn mem_realloc, memcached_calloc_fn mem_calloc, void *context) +.. c:function:: void memcached_get_memory_allocators (memcached_st *ptr, memcached_malloc_fn *mem_malloc, memcached_free_fn *mem_free, memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc) -C Client Library for memcached (libmemcached, -lmemcached) +.. c:function:: void * memcached_get_memory_allocators_context(const memcached_st *ptr) +.. c:function:: void * (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, void *context) -******** -SYNOPSIS -******** - - - -.. code-block:: perl - - #include - - memcached_return_t - memcached_set_memory_allocators (memcached_st *ptr, - memcached_malloc_fn mem_malloc, - memcached_free_fn mem_free, - memcached_realloc_fn mem_realloc, - memcached_calloc_fn mem_calloc, - void *context); - - void - memcached_get_memory_allocators (memcached_st *ptr, - memcached_malloc_fn *mem_malloc, - memcached_free_fn *mem_free, - memcached_realloc_fn *mem_realloc, - memcached_calloc_fn *mem_calloc); - - void * - memcached_get_memory_allocators_context(const memcached_st *ptr); - - void * - (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, - void *context); - - void * - (*memcached_realloc_fn) (memcached_st *ptr, void *mem, - const size_t size, - void *context); - - void - (*memcached_free_fn) (memcached_st *ptr, void *mem, - void *context); - - void * - (*memcached_calloc_fn) (memcached_st *ptr, - size_t nelem, - const size_t elsize, - void *context); - - - -*********** +.. c:function:: void * (*memcached_realloc_fn) (memcached_st *ptr, void *mem, const size_t size, void *context) + +.. c:function:: void (*memcached_free_fn) (memcached_st *ptr, void *mem, void *context) + +.. c:function:: void * (*memcached_calloc_fn) (memcached_st *ptr, size_t nelem, const size_t elsize, void *context) + +Compile and link with -lmemcached + + + +----------- DESCRIPTION -*********** +----------- -libmemcached(3) allows you to specify your own memory allocators optimized -for your application. +libmemcached(3) allows you to specify your own memory allocators, optimized +for your application. This enables libmemcached to be used inside of applications that have their own malloc implementation. -memcached_set_memory_allocators() is used to set the memory allocators used -by the memcached instance specified by ptr. Please note that you cannot -override only one of the memory allocators, you have to specify a complete -new set if you want to override one of them. All of the memory allocation -functions should behave as specified in the C99 standard. Specify NULL as -all functions to reset them to the default values. +:c:func:`memcached_set_memory_allocators` is used to set the memory +allocators used by the memcached instance specified by ptr. Please note that +you cannot override only one of the memory allocators, you have to specify a +complete new set if you want to override one of them. All of the memory +allocation functions should behave as specified in the C99 standard. Specify +NULL as all functions to reset them to the default values. -memcached_get_memory_allocators() is used to get the currently used memory -allocators by a mamcached handle. +:c:func:`memcached_get_memory_allocators` is used to get the currently used +memory allocators by a mamcached handle. -memcached_get_memory_allocators_context() returns the void \* that was -passed in during the call to memcached_set_memory_allocators(). +:c:func:`memcached_get_memory_allocators_context` returns the void \* that +was passed in during the call to :c:func:`memcached_set_memory_allocators`. The first argument to the memory allocator functions is a pointer to a memcached structure, the is passed as const and you will need to clone it in order to make use of any operation which would modify it. -***** +----- NOTES -***** +----- In version 0.38 all functions were modified to have a context void pointer @@ -101,37 +67,27 @@ passed to them. This was so that customer allocators could have their own space for memory. -****** +------ RETURN -****** +------ -memcached_set_memory_allocators() return MEMCACHED_SUCCESS upon success, -and MEMCACHED_FAILURE if you don't pass a complete set of function pointers. +:c:func:`memcached_set_memory_allocators` return :c:type:`MEMCACHED_SUCCESS` +upon success, and :c:type:`MEMCACHED_FAILURE` if you don't pass a complete set +of function pointers. -**** +---- HOME -**** +---- To find out more information please check: -`https://launchpad.net/libmemcached `_ - - -****** -AUTHOR -****** +`http://libmemcached.org/ `_ -Trond Norbye, -Brian Aker, - - -******** +-------- SEE ALSO -******** - - -memcached(1) libmemcached(3) memcached_get_user_data(3) memcached_set_user_data(3) +-------- +:manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`