uint64_t data)
{
if (not ptr)
+ {
return MEMCACHED_INVALID_ARGUMENTS;
+ }
switch (flag)
{
ptr->flags.auto_eject_hosts= bool(data);
case MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT:
- ptr->server_failure_limit= (uint32_t)data;
+ if (data == 0)
+ {
+ return memcached_set_error(*ptr, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT,
+ memcached_literal_param("MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT requires a value greater then zero."));
+ }
+ ptr->server_failure_limit= uint32_t(data);
break;
case MEMCACHED_BEHAVIOR_BINARY_PROTOCOL:
break;
case MEMCACHED_BEHAVIOR_RETRY_TIMEOUT:
- ptr->retry_timeout= (int32_t)data;
+ if (data == 0)
+ {
+ return memcached_set_error(*ptr, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT,
+ memcached_literal_param("MEMCACHED_BEHAVIOR_RETRY_TIMEOUT requires a value greater then zero."));
+ }
+ ptr->retry_timeout= int32_t(data);
break;
case MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE:
case MEMCACHED_BEHAVIOR_MAX:
default:
/* Shouldn't get here */
- WATCHPOINT_ASSERT(0);
+ assert_msg(0, "Invalid behavior passed to memcached_behavior_set()");
return memcached_set_error(*ptr, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT,
memcached_literal_param("Invalid behavior passed to memcached_behavior_set()"));
}
case MEMCACHED_BEHAVIOR_MAX:
default:
- WATCHPOINT_ASSERT(0); /* Programming mistake if it gets this far */
+ assert_msg(0, "Invalid behavior passed to memcached_behavior_set()");
return 0;
}
{
ptr->ketama.weighted= false;
}
+
ptr->distribution= type;
run_distribution(ptr);
+
return MEMCACHED_SUCCESS;
}