Abstraction (which will save us merge hell with 1.2).
[awesomized/libmemcached] / libmemcached / fetch.cc
index 76663703cc6a97b68fee2bcc0d54182aa1e951ae..8eef0c78e8e2a191071816aff3abbf2505140d94 100644 (file)
 
 #include <libmemcached/common.h>
 
-char *memcached_fetch(memcached_st *ptr, char *key, size_t *key_length, 
+char *memcached_fetch(memcached_st *shell, char *key, size_t *key_length, 
                       size_t *value_length, 
                       uint32_t *flags,
                       memcached_return_t *error)
 {
+  Memcached* ptr= memcached2Memcached(shell);
   memcached_return_t unused;
   if (error == NULL)
   {
@@ -192,7 +193,8 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr,
 
   *error= MEMCACHED_MAXIMUM_RETURN; // We use this to see if we ever go into the loop
   org::libmemcached::Instance *server;
-  while ((server= memcached_io_get_readable_server(ptr)))
+  memcached_return_t read_ret= MEMCACHED_SUCCESS;
+  while ((server= memcached_io_get_readable_server(ptr, read_ret)))
   {
     char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
     *error= memcached_response(server, buffer, sizeof(buffer), result);
@@ -251,11 +253,12 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr,
   return NULL;
 }
 
-memcached_return_t memcached_fetch_execute(memcached_st *ptr
+memcached_return_t memcached_fetch_execute(memcached_st *shell
                                            memcached_execute_fn *callback,
                                            void *context,
                                            uint32_t number_of_callbacks)
 {
+  Memcached* ptr= memcached2Memcached(shell);
   memcached_result_st *result= &ptr->result;
   memcached_return_t rc;
   bool some_errors= false;