break;
case MEMCACHED_BEHAVIOR_BUFFER_REQUESTS:
- if (ptr->flags.use_udp)
+ if (memcached_is_udp(ptr))
{
return memcached_set_error(*ptr, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT,
memcached_literal_param("MEMCACHED_BEHAVIOR_BUFFER_REQUESTS cannot be set while MEMCACHED_BEHAVIOR_USE_UDP is enabled."));
ptr->flags.use_udp= bool(data);
if (bool(data))
{
- ptr->flags.no_reply= true;
+ ptr->flags.reply= false;
ptr->flags.buffer_requests= false;
}
+ else
+ {
+ ptr->flags.reply= true;
+ }
break;
case MEMCACHED_BEHAVIOR_TCP_NODELAY:
break;
case MEMCACHED_BEHAVIOR_NOREPLY:
- if (ptr->flags.use_udp and bool(data) == false)
+ if (memcached_is_udp(ptr) and bool(data) == false)
{
return memcached_set_error(*ptr, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT,
memcached_literal_param("MEMCACHED_BEHAVIOR_NOREPLY cannot be disabled while MEMCACHED_BEHAVIOR_USE_UDP is enabled."));
}
- ptr->flags.no_reply= bool(data);
+ // We reverse the logic here to make it easier to understand throughout the
+ // code.
+ ptr->flags.reply= bool(data) ? false : true;
break;
case MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS:
return ptr->flags.buffer_requests;
case MEMCACHED_BEHAVIOR_USE_UDP:
- return ptr->flags.use_udp;
+ return memcached_is_udp(ptr);
case MEMCACHED_BEHAVIOR_TCP_NODELAY:
return ptr->flags.tcp_nodelay;
socklen_t sock_length= sizeof(int);
if (ptr->send_size != -1) // If value is -1 then we are using the default
+ {
return (uint64_t) ptr->send_size;
+ }
memcached_server_write_instance_st instance= memcached_server_instance_fetch(ptr, 0);
if (getsockopt(instance->fd, SOL_SOCKET, SO_SNDBUF, &sock_size, &sock_length) < 0)
{
- memcached_set_errno(*ptr, errno, MEMCACHED_AT);
+ memcached_set_errno(*ptr, get_socket_errno(), MEMCACHED_AT);
return 0; /* Zero means error */
}
}
if (getsockopt(instance->fd, SOL_SOCKET, SO_RCVBUF, &sock_size, &sock_length) < 0)
{
- memcached_set_errno(*ptr, errno, MEMCACHED_AT);
+ memcached_set_errno(*ptr, get_socket_errno(), MEMCACHED_AT);
return 0; /* Zero means error */
}
-
}
return (uint64_t) sock_size;
return ptr->flags.hash_with_namespace;
case MEMCACHED_BEHAVIOR_NOREPLY:
- return ptr->flags.no_reply;
+ return ptr->flags.reply ? false : true;
case MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS:
return ptr->flags.auto_eject_hosts;