X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Fmemcached_memory_allocators.pod;h=6b9ddf9f32321c981db694c19768ad4e90cc9070;hb=0f46c72f570994b6f9edc01925f25c3857d41b59;hp=b2ac84cb9eb2053c943a91004bf3e6c4228afecd;hpb=24240a9d5478d0e840d9246df44be38c63461f90;p=awesomized%2Flibmemcached diff --git a/docs/memcached_memory_allocators.pod b/docs/memcached_memory_allocators.pod index b2ac84cb..6b9ddf9f 100644 --- a/docs/memcached_memory_allocators.pod +++ b/docs/memcached_memory_allocators.pod @@ -1,6 +1,6 @@ =head1 NAME -memcached_set_memory_allocators, memcached_get_memory_allocators +memcached_set_memory_allocators, memcached_get_memory_allocators, memcached_set_memory_allocators_context - Manage memory allocator functions =head1 LIBRARY @@ -10,25 +10,42 @@ C Client Library for memcached (libmemcached, -lmemcached) #include - memcached_return - memcached_set_memory_allocators(memcached_st *ptr, - memcached_malloc_function mem_malloc, - memcached_free_function mem_free, - memcached_realloc_function mem_realloc, - memcached_calloc_function mem_calloc); + 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_function *mem_malloc, - memcached_free_function *mem_free, - memcached_realloc_function *mem_realloc, - memcached_calloc_function *mem_calloc); + 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_malloc_function)(memcached_st *ptr, const size_t size); - void *(*memcached_realloc_function)(memcached_st *ptr, void *mem, - const size_t size); - void (*memcached_free_function)(memcached_st *ptr, void *mem); - void *(*memcached_calloc_function)(memcached_st *ptr, size_t nelem, - const size_t elsize); + 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); =head1 DESCRIPTION @@ -46,23 +63,37 @@ 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. +memcached_get_memory_allocators_context() returns the void * that was +passed in during the call to 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. + +=head1 NOTES + +In version 0.38 all functions were modified to have a context void pointer +passed to them. This was so that customer allocators could have their +own space for memory. + =head1 RETURN -memcached_set_memory_allocators() return MEMCACHED_SUCCESS upon success, +memcached_set_memory_allocators() return MEMCACHED_SUCCESS upon success, and MEMCACHED_FAILURE if you don't pass a complete set of function pointers. =head1 HOME To find out more information please check: -L +L =head1 AUTHOR -Trond Norbye, Etrond.norbye@sun.comE +Trond Norbye, Etrond.norbye@gmail.comE +Brian Aker, Ebrian@tangent.orf =head1 SEE ALSO -memcached(1) libmemcached(3) +memcached(1) libmemcached(3) memcached_get_user_data(3) memcached_set_user_data(3) =cut