projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Refactor test system to give me times on calling tests (frankly I still need
[m6w6/libmemcached]
/
lib
/
memcached_behavior.c
diff --git
a/lib/memcached_behavior.c
b/lib/memcached_behavior.c
index bf90d75ec9e3f5fd2d1d8d6e43adfa6e1630e10b..1ce495afe336ee27e0d28ef78325afe82e6450f3 100644
(file)
--- a/
lib/memcached_behavior.c
+++ b/
lib/memcached_behavior.c
@@
-9,6
+9,17
@@
We quit all connections so we can reset the sockets.
*/
We quit all connections so we can reset the sockets.
*/
+void set_behavior_flag(memcached_st *ptr, memcached_flags temp_flag, void *data)
+{
+ unsigned int *truefalse= (unsigned int *)data;
+
+ memcached_quit(ptr);
+ if (truefalse)
+ ptr->flags|= temp_flag;
+ else
+ ptr->flags+= temp_flag;
+}
+
memcached_return memcached_behavior_set(memcached_st *ptr,
memcached_behavior flag,
void *data)
memcached_return memcached_behavior_set(memcached_st *ptr,
memcached_behavior flag,
void *data)
@@
-16,29
+27,16
@@
memcached_return memcached_behavior_set(memcached_st *ptr,
switch (flag)
{
case MEMCACHED_BEHAVIOR_NO_BLOCK:
switch (flag)
{
case MEMCACHED_BEHAVIOR_NO_BLOCK:
- {
- unsigned int *truefalse= (unsigned int *)data;
- memcached_quit(ptr);
- if (truefalse)
- ptr->flags|= MEM_NO_BLOCK;
- else
- ptr->flags+= MEM_NO_BLOCK;
- break;
- }
-
+ set_behavior_flag(ptr, MEM_NO_BLOCK, data);
+ break;
case MEMCACHED_BEHAVIOR_TCP_NODELAY:
case MEMCACHED_BEHAVIOR_TCP_NODELAY:
- {
- unsigned int *truefalse= (unsigned int *)data;
- memcached_quit(ptr);
- if (truefalse)
- ptr->flags|= MEM_TCP_NODELAY;
- else
- ptr->flags+= MEM_TCP_NODELAY;
- break;
- }
-
+ set_behavior_flag(ptr, MEM_TCP_NODELAY, data);
+ break;
case MEMCACHED_BEHAVIOR_MD5_HASHING:
case MEMCACHED_BEHAVIOR_MD5_HASHING:
- ptr->flags+= MEM_USE_MD5;
+ set_behavior_flag(ptr, MEM_USE_MD5, data);
+ break;
+ case MEMCACHED_BEHAVIOR_KETAMA:
+ set_behavior_flag(ptr, MEM_USE_KETAMA, data);
break;
}
break;
}
@@
-48,24
+46,28
@@
memcached_return memcached_behavior_set(memcached_st *ptr,
unsigned long long memcached_behavior_get(memcached_st *ptr,
memcached_behavior flag)
{
unsigned long long memcached_behavior_get(memcached_st *ptr,
memcached_behavior flag)
{
+ memcached_flags temp_flag;
+
switch (flag)
{
case MEMCACHED_BEHAVIOR_NO_BLOCK:
switch (flag)
{
case MEMCACHED_BEHAVIOR_NO_BLOCK:
- if (ptr->flags & MEM_NO_BLOCK)
- return 1;
- else
- return 0;
+ temp_flag= MEM_NO_BLOCK;
+ break;
case MEMCACHED_BEHAVIOR_TCP_NODELAY:
case MEMCACHED_BEHAVIOR_TCP_NODELAY:
- if (ptr->flags & MEM_TCP_NODELAY)
- return 1;
- else
- return 0;
+ temp_flag= MEM_TCP_NODELAY;
+ break;
case MEMCACHED_BEHAVIOR_MD5_HASHING:
case MEMCACHED_BEHAVIOR_MD5_HASHING:
- if (ptr->flags & MEM_USE_MD5)
- return 1;
- else
- return 0;
+ temp_flag= MEM_USE_MD5;
+ break;
+ case MEMCACHED_BEHAVIOR_KETAMA:
+ temp_flag= MEM_USE_KETAMA;
+ break;
}
}
+ if (ptr->flags & temp_flag)
+ return 1;
+ else
+ return 0;
+
return MEMCACHED_SUCCESS;
}
return MEMCACHED_SUCCESS;
}