Merge lp:~tangent-org/libmemcached/1.0-build/ Build: jenkins-Libmemcached-192
[awesomized/libmemcached] / libmemcached / hosts.cc
index 62b362ad7fee39eb9eed189f1fc14d8d732c9b0b..80ba0339e5e41b175570a0f66557110a597e2191 100644 (file)
@@ -36,6 +36,7 @@
  */
 
 #include <libmemcached/common.h>
+#include "libmemcached/assert.hpp"
 
 #include <cmath>
 #include <sys/time.h>
@@ -194,6 +195,7 @@ static memcached_return_t update_continuum(memcached_st *ptr)
     ptr->ketama.continuum= new_ptr;
     ptr->ketama.continuum_count= live_servers + MEMCACHED_CONTINUUM_ADDITION;
   }
+  assert_msg(ptr->ketama.continuum, "Programmer Error, empty ketama continuum");
 
   uint64_t total_weight= 0;
   if (memcached_is_weighted_ketama(ptr))
@@ -327,9 +329,9 @@ static memcached_return_t update_continuum(memcached_st *ptr)
     pointer_counter+= pointer_per_server;
   }
 
-  WATCHPOINT_ASSERT(ptr);
-  WATCHPOINT_ASSERT(ptr->ketama.continuum);
-  WATCHPOINT_ASSERT(memcached_server_count(ptr) * MEMCACHED_POINTS_PER_SERVER <= MEMCACHED_CONTINUUM_SIZE);
+  assert_msg(ptr, "Programmer Error, no valid ptr");
+  assert_msg(ptr->ketama.continuum, "Programmer Error, empty ketama continuum");
+  assert_msg(memcached_server_count(ptr) * MEMCACHED_POINTS_PER_SERVER <= MEMCACHED_CONTINUUM_SIZE, "invalid size information being given to qsort()");
   ptr->ketama.continuum_points_counter= pointer_counter;
   qsort(ptr->ketama.continuum, ptr->ketama.continuum_points_counter, sizeof(memcached_continuum_item_st), continuum_item_cmp);
 
@@ -344,52 +346,52 @@ static memcached_return_t update_continuum(memcached_st *ptr)
   return MEMCACHED_SUCCESS;
 }
 
-static memcached_return_t server_add(memcached_st *ptr
+static memcached_return_t server_add(memcached_st *memc
                                      const memcached_string_t& hostname,
                                      in_port_t port,
                                      uint32_t weight,
                                      memcached_connection_t type)
 {
-  assert_msg(ptr, "Programmer mistake, somehow server_add() was passed a NULL memcached_st");
+  assert_msg(memc, "Programmer mistake, somehow server_add() was passed a NULL memcached_st");
 
-  if (ptr->number_of_hosts)
+  if (memc->number_of_hosts)
   {
-    assert(memcached_instance_list(ptr));
+    assert(memcached_instance_list(memc));
   }
 
-  if (memcached_instance_list(ptr))
+  if (memcached_instance_list(memc))
   {
-    assert(ptr->number_of_hosts);
+    assert(memc->number_of_hosts);
   }
 
-  uint32_t host_list_size= ptr->number_of_hosts +1;
-  org::libmemcached::Instance* new_host_list= libmemcached_xrealloc(ptr, memcached_instance_list(ptr), host_list_size, org::libmemcached::Instance);
+  uint32_t host_list_size= memc->number_of_hosts +1;
+  org::libmemcached::Instance* new_host_list= libmemcached_xrealloc(memc, memcached_instance_list(memc), host_list_size, org::libmemcached::Instance);
 
   if (new_host_list == NULL)
   {
-    return memcached_set_error(*ptr, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT);
+    return memcached_set_error(*memc, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT);
   }
 
-  memcached_instance_set(ptr, new_host_list, host_list_size);
-  assert(ptr->number_of_hosts == host_list_size);
+  memcached_instance_set(memc, new_host_list, host_list_size);
+  assert(memc->number_of_hosts == host_list_size);
 
   /* TODO: Check return type */
-  org::libmemcached::Instance* instance= memcached_instance_fetch(ptr, memcached_server_count(ptr) -1);
+  org::libmemcached::Instance* instance= memcached_instance_fetch(memc, memcached_server_count(memc) -1);
 
-  if (__instance_create_with(ptr, instance, hostname, port, weight, type) == NULL)
+  if (__instance_create_with(memc, instance, hostname, port, weight, type) == NULL)
   {
-    return memcached_set_error(*ptr, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT);
+    return memcached_set_error(*memc, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT);
   }
 
   if (weight > 1)
   {
-    if (memcached_is_consistent_distribution(ptr))
+    if (memcached_is_consistent_distribution(memc))
     {
-      memcached_set_weighted_ketama(ptr, true);
+      memcached_set_weighted_ketama(memc, true);
     }
   }
 
-  return run_distribution(ptr);
+  return run_distribution(memc);
 }
 
 
@@ -580,7 +582,7 @@ memcached_return_t memcached_server_add_parsed(memcached_st *ptr,
                                                in_port_t port,
                                                uint32_t weight)
 {
-  char buffer[NI_MAXHOST];
+  char buffer[MEMCACHED_NI_MAXHOST];
 
   memcpy(buffer, hostname, hostname_length);
   buffer[hostname_length]= 0;