Merge in trunk. Updates to manual/update to latest libtest.
[m6w6/libmemcached] / docs / libmemcached_examples.rst
index 922ee143c0f54c28bf1ce712ad65c95c4ef131a1..81137e86353dc7e31a696932dc257bc89cf79ec5 100644 (file)
@@ -13,35 +13,16 @@ For full examples, test cases are found in tests/\*.c in the main
 distribution. These are always up to date, and are used for each test run of
 the library.
 
 distribution. These are always up to date, and are used for each test run of
 the library.
 
-------------------------------
-Creating and Freeing structure
-------------------------------
-
-
-.. code-block:: c
-
-   memcached_st *memc;
-   memcached_return_t rc;
-   memc= memcached_create(NULL);
-   ...do stuff...
-   memcached_free(memc);
-
-
-The above code would create a connection and then free the connection when
-finished.
-
 
 ---------------------
 Connecting to servers
 ---------------------
 
 
 
 ---------------------
 Connecting to servers
 ---------------------
 
 
-
 .. code-block:: c
 
    const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com"
 .. code-block:: c
 
    const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com"
-   memcached_st *memc= memcached_create_with_options(config_string, strlen(config_string);
+   memcached_st *memc= memcached(config_string, strlen(config_string);
    {
     ...
    }
    {
     ...
    }
@@ -51,6 +32,43 @@ Connecting to servers
 In the above code you create a \ ``memcached_st``\  object with three server by making use of :manpage:`memcached_create_with_options(3)`.
 
 
 In the above code you create a \ ``memcached_st``\  object with three server by making use of :manpage:`memcached_create_with_options(3)`.
 
 
+--------------------------
+Creating a pool of servers
+--------------------------
+
+
+
+.. code-block:: c
+
+  const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com"; 
+  
+  memcached_pool_st* pool= memcached_pool(config_string, strlen(config_string));
+
+  memcached_return_t rc;
+
+  memcached_st *memc= memcached_pool_pop(pool, false, &rc);
+
+  .... do work
+
+  /*
+    Release the memc_ptr that was pulled from the pool
+  */
+  memcached_pool_push(pool, memc);
+
+  /*
+    Destroy the pool.
+  */
+  memcached_pool_destroy(pool);
+
+
+
+In the above code you create a \ ``memcached_pool_st``\  object with three
+server by making use of :manpage:`memcached_pool(3)`.
+
+When memcached_pool_destroy() all memory will be released that is associated
+with the pool.
+
+
 ----------------------------
 Adding a value to the server
 ----------------------------
 ----------------------------
 Adding a value to the server
 ----------------------------
@@ -60,25 +78,14 @@ Adding a value to the server
 .. code-block:: c
 
    char *key= "foo";
 .. code-block:: c
 
    char *key= "foo";
-   char *value;
-   size_t value_length= 8191;
-   unsigned int x;
-   value = (char*)malloc(value_length);
-   assert(value);
-   for (x= 0; x < value_length; x++)
-   value[x] = (char) (x % 127);
-   for (x= 0; x < 1; x++)
+   char *value= "value";
+
+   memcached_return_t rc= memcached_set(memc, key, strlen(key), value, value_length, (time_t)0, (uint32_t)0);
+
+   if (rc != MEMCACHED_SUCCESS)
    {
    {
-     rc= memcached_set(memc, key, strlen(key), 
-     value, value_length,
-     (time_t)0, (uint32_t)0);
-     assert(rc == MEMCACHED_SUCCESS);
+   ... // handle failure
    }
    }
-   free(value);
 
 
 It is best practice to always look at the return value of any operation.
 
 
 It is best practice to always look at the return value of any operation.
@@ -125,7 +132,7 @@ HOME
 
 
 To find out more information please check:
 
 
 To find out more information please check:
-`https://launchpad.net/libmemcached <https://launchpad.net/libmemcached>`_
+`http://libmemcached.org/ <http://libmemcached.org/>`_
 
 
 --------
 
 
 --------