Merge Trond
[m6w6/libmemcached] / docs / memcached_servers.pod
index 3cd5da9e5478d1ac960156b4e59fbd09ec0e48b0..f2d66c94f68335765a29c95f1124f72ce7a0e24c 100644 (file)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-memcached_server_count, memcached_server_list, memcached_server_add, memcached_server_push, memcached_server_get_last_disconnect - Manage server list
+memcached_server_count, memcached_server_list, memcached_server_add, memcached_server_push, memcached_server_get_last_disconnect, memcached_server_cursor - Manage server list
 
 =head1 LIBRARY
 
@@ -10,10 +10,7 @@ C Client Library for memcached (libmemcached, -lmemcached)
 
   #include <memcached.h>
 
-  unsigned int memcached_server_count (memcached_st *ptr);
-
-  memcached_server_st *
-    memcached_server_list (memcached_st *ptr);
+  uint32_t memcached_server_count (memcached_st *ptr);
 
   memcached_return_t
     memcached_server_add (memcached_st *ptr,
@@ -22,8 +19,8 @@ C Client Library for memcached (libmemcached, -lmemcached)
 
   memcached_return_t
     memcached_server_add_udp (memcached_st *ptr,
-                          const char *hostname,
-                          in_port_t port);
+                             const char *hostname,
+                             in_port_t port);
 
   memcached_return_t
     memcached_server_add_unix_socket (memcached_st *ptr,
@@ -31,15 +28,22 @@ C Client Library for memcached (libmemcached, -lmemcached)
 
   memcached_return_t
     memcached_server_push (memcached_st *ptr,
-                           memcached_server_st *list);
+                           const memcached_server_st *list);
 
-  memcached_server_st *
-    memcached_server_by_key (memcached_st *ptr,
-                             const char *key, size_t key_length,
+  memcached_server_instance_st
+    memcached_server_by_key (const memcached_st *ptr,
+                             const char *key,
+                            size_t key_length,
                              memcached_return_t *error);
 
-  memcached_server_st *
-    memcached_server_get_last_disconnect (memcached_st *ptr)
+  memcached_server_instance_st
+    memcached_server_get_last_disconnect (const memcached_st *ptr)
+
+  memcached_return_t
+    memcached_server_cursor(const memcached_st *ptr,
+                           const memcached_server_fn *callback,
+                           void *context,
+                           uint32_t number_of_callbacks);
 
 
 =head1 DESCRIPTION
@@ -52,10 +56,6 @@ memcached_server_st(3).
 memcached_server_count() provides you a count of the current number of
 servers being used by a C<memcached_st> structure.
 
-memcached_server_list() is used to provide an array of all defined hosts.
-You are responsible for freeing this list (aka it is not a pointer to the
-currently used structure).
-
 memcached_server_add() pushes a single TCP server into the C<memcached_st>
 structure. This server will be placed at the end. Duplicate servers are
 allowed, so duplication is not checked. Executing this function with the
@@ -90,6 +90,13 @@ for which there was a connection problem. It does not mean this particular
 server is currently dead but if the library is reporting a server is,
 the returned server is a very good candidate.
 
+memcached_server_cursor() takes a memcached_st and loops through the 
+list of hosts currently in the cursor calling the list of callback 
+functions provided. You can optionally pass in a value via 
+context which will be provided to each callback function. An error
+return from any callback will terminate the loop. memcached_server_cursor()
+is passed the original caller memcached_st in its current state. 
+
 =head1 RETURN
 
 Varies, see particular functions.