=head1 NAME
-memcached_callback_get memcached_callback_set
+memcached_callback_get, memcached_callback_set - Get and set a callback
=head1 LIBRARY
#include <memcached.h>
- memcached_return
+ memcached_return_t
memcached_callback_set (memcached_st *ptr,
- memcached_callback flag,
+ memcached_callback_t flag,
void *data);
void *
memcached_callback_get (memcached_st *ptr,
- memcached_callback flag,
- memcached_return *error);
+ memcached_callback_t flag,
+ memcached_return_t *error);
=head1 DESCRIPTION
memcached_callback_set() changes the function/structure assigned by a
callback flag. No connections are reset.
+You can use MEMCACHED_CALLBACK_USER_DATA to provide custom context if required for any
+of the callbacks
+
=over 4
=item MEMCACHED_CALLBACK_CLEANUP_FUNCTION
When memcached_delete() is called this function will be excuted. At the
point of its execution all connections have been closed.
+=item MEMCACHED_CALLBACK_PREFIX_KEY
+
+You can set a value which will be used to create a domain for your keys.
+The value specified here will be prefixed to each of your keys. The value can not
+be greater then MEMCACHED_PREFIX_KEY_MAX_SIZE - 1 and will reduce MEMCACHED_MAX_KEY by
+the value of your key. The prefix key is only applied to the primary key,
+not the master key. MEMCACHED_FAILURE will be returned if no key is set. In the case
+of a key which is too long MEMCACHED_BAD_KEY_PROVIDED will be returned.
+
+If you set a value with the value being NULL then the prefix key is disabled.
+
=item MEMCACHED_CALLBACK_USER_DATA
This allows you to store a pointer to a specifc piece of data. This can be
retrieved from inside of memcached_fetch_execute(). Cloning a memcached_st
will copy the pointer to the clone.
-=item MEMCACHED_CALLBACK_MALLOC_FUNCTION,
-
-This alllows yout to pass in a customized version of malloc that will be used instead of the builtin malloc(3) call.
-The prototype for this is:
+=item MEMCACHED_CALLBACK_MALLOC_FUNCTION
-void *(*memcached_malloc_function)(memcached_st *ptr, const size_t size);
+DEPRECATED: use memcached_set_memory_allocators instead.
-You can use MEMCACHED_CALLBACK_USER_DATA to provide custom context if required for malloc.
+=item MEMCACHED_CALLBACK_REALLOC_FUNCTION
-=item MEMCACHED_CALLBACK_REALLOC_FUNCTION,
+DEPRECATED: use memcached_set_memory_allocators instead.
-This alllows yout to pass in a customized version of realloc that will be used instead of the builtin realloc(3) call.
-The prototype for this is:
+=item MEMCACHED_CALLBACK_FREE_FUNCTION
-void *(*memcached_realloc_function)(memcached_st *ptr, void *mem, const size_t size);
+DEPRECATED: use memcached_set_memory_allocators instead.
-You can use MEMCACHED_CALLBACK_USER_DATA to provide custom context if required for realloc.
+=item MEMCACHED_CALLBACK_GET_FAILURE
-=item MEMCACHED_CALLBACK_FREE_FUNCTION,
+This function implements the read through cache behavior. On failure of retrieval this callback will be called.
+You are responsible for populating the result object provided. This result object will then be stored in the server and
+returned to the calling process. You must clone the memcached_st in order to
+make use of it. The value will be stored only if you return
+MEMCACHED_SUCCESS or MEMCACHED_BUFFERED. Returning MEMCACHED_BUFFERED will
+cause the object to be buffered and not sent immediatly (if this is the default behavior based on your connection setup this will happen automatically).
-This alllows yout to pass in a customized version of realloc that will be used instead of the builtin free(3) call.
The prototype for this is:
+memcached_return_t (*memcached_trigger_key)(memcached_st *ptr, char *key, size_t key_length, memcached_result_st *result);
+
+=item MEMCACHED_CALLBACK_DELETE_TRIGGER
-typedef void (*memcached_free_function)(memcached_st *ptr, void *mem);
+This function implements a trigger upon successful deletion of a key. The memcached_st structure will need to be cloned
+in order to make use of it.
+
+The prototype for this is:
+typedef memcached_return_t (*memcached_trigger_delete_key)(memcached_st *ptr, char *key, size_t key_length);
-You can use MEMCACHED_CALLBACK_USER_DATA to provide custom context if required for realloc.
=back
=head1 RETURN
memcached_callback_get() return the function or structure that was provided.
-Upon error, nothing is set, null is returned, and the memcached_return
+Upon error, nothing is set, null is returned, and the memcached_return_t
argument is set to MEMCACHED_FAILURE.
memcached_callback_set() returns MEMCACHED_SUCCESS upon successful setting,
=head1 HOME
To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
=head1 AUTHOR