projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Update logic around UDP.
[m6w6/libmemcached]
/
libmemcached
/
response.cc
diff --git
a/libmemcached/response.cc
b/libmemcached/response.cc
index 3312fb7c23642772e833d2425ce3a3f816b1937f..445b92338b29ca5d45d4c6988298dc1600860b99 100644
(file)
--- a/
libmemcached/response.cc
+++ b/
libmemcached/response.cc
@@
-46,11
+46,6
@@
static memcached_return_t textual_value_fetch(memcached_server_write_instance_st
ssize_t read_length= 0;
size_t value_length;
ssize_t read_length= 0;
size_t value_length;
- if (ptr->root->flags.use_udp)
- {
- return memcached_set_error(*ptr, MEMCACHED_NOT_SUPPORTED, MEMCACHED_AT);
- }
-
WATCHPOINT_ASSERT(ptr->root);
char *end_ptr= buffer + MEMCACHED_DEFAULT_COMMAND_SIZE;
WATCHPOINT_ASSERT(ptr->root);
char *end_ptr= buffer + MEMCACHED_DEFAULT_COMMAND_SIZE;
@@
-345,11
+340,13
@@
static memcached_return_t textual_read_one_response(memcached_server_write_insta
if (auto_return_value == ULLONG_MAX and errno == ERANGE)
{
if (auto_return_value == ULLONG_MAX and errno == ERANGE)
{
- return MEMCACHED_UNKNOWN_READ_FAILURE;
+ return memcached_set_error(*ptr, MEMCACHED_UNKNOWN_READ_FAILURE, MEMCACHED_AT,
+ memcached_literal_param("Numeric response was out of range"));
}
else if (errno == EINVAL)
{
}
else if (errno == EINVAL)
{
- return MEMCACHED_UNKNOWN_READ_FAILURE;
+ return memcached_set_error(*ptr, MEMCACHED_UNKNOWN_READ_FAILURE, MEMCACHED_AT,
+ memcached_literal_param("Numeric response was out of range"));
}
numeric_value= uint64_t(auto_return_value);
}
numeric_value= uint64_t(auto_return_value);
@@
-362,7
+359,8
@@
static memcached_return_t textual_read_one_response(memcached_server_write_insta
break;
}
break;
}
- return MEMCACHED_UNKNOWN_READ_FAILURE;
+ return memcached_set_error(*ptr, MEMCACHED_UNKNOWN_READ_FAILURE, MEMCACHED_AT,
+ memcached_literal_param("Could not determine response"));
}
static memcached_return_t binary_read_one_response(memcached_server_write_instance_st ptr,
}
static memcached_return_t binary_read_one_response(memcached_server_write_instance_st ptr,
@@
-660,6
+658,11
@@
memcached_return_t memcached_read_one_response(memcached_server_write_instance_s
memcached_result_st *result,
uint64_t& numeric_value)
{
memcached_result_st *result,
uint64_t& numeric_value)
{
+ if (memcached_is_udp(ptr->root))
+ {
+ return memcached_set_error(*ptr, MEMCACHED_NOT_SUPPORTED, MEMCACHED_AT);
+ }
+
memcached_server_response_decrement(ptr);
if (result == NULL)
memcached_server_response_decrement(ptr);
if (result == NULL)
@@
-704,6
+707,11
@@
memcached_return_t memcached_response(memcached_server_write_instance_st ptr,
memcached_result_st *result,
uint64_t& numeric_value)
{
memcached_result_st *result,
uint64_t& numeric_value)
{
+ if (memcached_is_udp(ptr->root))
+ {
+ return memcached_set_error(*ptr, MEMCACHED_NOT_SUPPORTED, MEMCACHED_AT);
+ }
+
/* We may have old commands in the buffer not set, first purge */
if ((ptr->root->flags.no_block) and (memcached_is_processing_input(ptr->root) == false))
{
/* We may have old commands in the buffer not set, first purge */
if ((ptr->root->flags.no_block) and (memcached_is_processing_input(ptr->root) == false))
{