Update changelog
[awesomized/libmemcached] / docs / libmemcached_examples.rst
index 38d6f7b5ef4e9c331a4c4ae1134db0b3f69c7c1f..5a1158648d826ec87ce3eaf89cace3ea90627178 100644 (file)
@@ -13,58 +13,61 @@ 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
-------------------------------
+
+---------------------
+Connecting to servers
+---------------------
+
 
 
 .. code-block:: c
 
 
 
 .. code-block:: c
 
-   memcached_st *memc;
-   memcached_return_t rc;
-   memc= memcached_create(NULL);
-   ...do stuff...
+   const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com"
+   memcached_st *memc= memcached(config_string, strlen(config_string);
+   {
+    ...
+   }
    memcached_free(memc);
 
 
    memcached_free(memc);
 
 
-The above code would create a connection and then free the connection when
-finished.
+In the above code you create a \ ``memcached_st``\  object with three server by making use of :manpage:`memcached_create_with_options(3)`.
 
 
 
 
----------------------
-Connecting to servers
----------------------
+--------------------------
+Creating a pool of servers
+--------------------------
 
 
 
 .. code-block:: c
 
 
 
 
 .. code-block:: c
 
-   memcached_server_st *servers;
-   memcached_st *memc= memcached_create(NULL);
-   char servername[]= "0.example.com";
-   servers= memcached_server_list_append(NULL, servername, 400, &rc);
-   for (x= 0; x < 20; x++)
-   {
-     char buffer[SMALL_STRING_LEN];
-     snprintf(buffer, SMALL_STRING_LEN, "%u.example.com", 400+x);
-     servers= memcached_server_list_append(servers, buffer, 401, &rc);
-   }
-   rc= memcached_server_push(memc, servers);
-   memcached_server_free(servers);
-   memcached_free(memc);
+  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_st``\  object that you then feed in a
-single host into. In the for loop you build a \ ``memcached_server_st``\ 
-pointer that you then later feed via memcached_server_push() into the
-\ ``memcached_st``\  structure.
+In the above code you create a \ ``memcached_pool_st``\  object with three
+server by making use of :manpage:`memcached_pool(3)`.
 
 
-You can reuse the \ ``memcached_server_st``\  object with multile \ ``memcached_st``\ 
-structures.
+When memcached_pool_destroy() all memory will be released that is associated
+with the pool.
 
 
 ----------------------------
 
 
 ----------------------------
@@ -76,25 +79,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.
@@ -141,7 +133,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/>`_
 
 
 --------
 
 
 --------