X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Fmemcached_callback.pod;h=9175c29d2dc841b67b77a0fe53bbb151a91b6978;hb=831d9dafc253a93f28b5c8db2d37481a93b220e7;hp=7d3fe7306e631d3013826ed2159866e90327c5e3;hpb=797030634aad32b958277944a9b2d687ea148e97;p=m6w6%2Flibmemcached diff --git a/docs/memcached_callback.pod b/docs/memcached_callback.pod old mode 100755 new mode 100644 index 7d3fe730..9175c29d --- a/docs/memcached_callback.pod +++ b/docs/memcached_callback.pod @@ -1,6 +1,6 @@ =head1 NAME -memcached_callback_get memcached_callback_set +memcached_callback_get, memcached_callback_set - Get and set a callback =head1 LIBRARY @@ -10,15 +10,15 @@ C Client Library for memcached (libmemcached, -lmemcached) #include - 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 @@ -32,6 +32,9 @@ function set by memcached_callback_set(). 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 @@ -44,45 +47,60 @@ point of its execution all connections have been closed. 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. + =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, +=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: +DEPRECATED: use memcached_set_memory_allocators instead. -void *(*memcached_malloc_function)(memcached_st *ptr, const size_t size); +=item MEMCACHED_CALLBACK_REALLOC_FUNCTION -You can use MEMCACHED_CALLBACK_USER_DATA to provide custom context if required for malloc. +DEPRECATED: use memcached_set_memory_allocators instead. -=item MEMCACHED_CALLBACK_REALLOC_FUNCTION, +=item MEMCACHED_CALLBACK_FREE_FUNCTION -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: +DEPRECATED: use memcached_set_memory_allocators instead. -void *(*memcached_realloc_function)(memcached_st *ptr, void *mem, const size_t size); +=item MEMCACHED_CALLBACK_GET_FAILURE -You can use MEMCACHED_CALLBACK_USER_DATA to provide custom context if required for realloc. +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). -=item MEMCACHED_CALLBACK_FREE_FUNCTION, - -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, @@ -91,7 +109,7 @@ otherwise MEMCACHED_FAILURE on error. =head1 HOME To find out more information please check: -L +L =head1 AUTHOR