Reverting back to older version of memslap, and renaming other version
[m6w6/libmemcached] / docs / memcached_memory_allocators.pod
index 5d6d00ae6cce0a8aac99e256937d0432385c4629..6b9ddf9f32321c981db694c19768ad4e90cc9070 100644 (file)
@@ -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.h>
 
-  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,24 +63,33 @@ 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, and you may use the memcached_set_user_data() and
-memcached_get_user_data() to store a user-specific value to each memcached
-structure.
+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<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
-Trond Norbye, E<lt>trond.norbye@sun.comE<gt>
+Trond Norbye, E<lt>trond.norbye@gmail.comE<gt>
+Brian Aker, E<lt>brian@tangent.orf<gt>
 
 =head1 SEE ALSO