See changes in changelog, but...
[awesomized/libmemcached] / lib / memcached_behavior.c
1 #include <memcached.h>
2 #include <sys/types.h>
3 #include <sys/socket.h>
4 #include <netinet/tcp.h>
5
6 memcached_return memcached_behavior_set(memcached_st *ptr,
7 memcached_behavior flag,
8 void *data)
9 {
10 switch (flag)
11 {
12 case MEMCACHED_BEHAVIOR_NO_BLOCK:
13 /* We quit all connections so we can reset the sockets */
14 memcached_quit(ptr);
15 ptr->flags|= MEM_NO_BLOCK;
16 break;
17 case MEMCACHED_BEHAVIOR_BLOCK:
18 /* We quit all connections so we can reset the sockets */
19 memcached_quit(ptr);
20 ptr->flags+= MEM_NO_BLOCK;
21 break;
22 case MEMCACHED_BEHAVIOR_TCP_NODELAY:
23 /* We quit all connections so we can reset the sockets */
24 memcached_quit(ptr);
25 ptr->flags|= MEM_TCP_NODELAY;
26 break;
27 case MEMCACHED_BEHAVIOR_TCP_DELAY:
28 /* We quit all connections so we can reset the sockets */
29 memcached_quit(ptr);
30 ptr->flags+= MEM_TCP_NODELAY;
31 break;
32 }
33
34 return MEMCACHED_SUCCESS;
35 }