2 +--------------------------------------------------------------------+
3 | libmemcached - C/C++ Client Library for memcached |
4 +--------------------------------------------------------------------+
5 | Redistribution and use in source and binary forms, with or without |
6 | modification, are permitted under the terms of the BSD license. |
7 | You should have received a copy of the license in a bundled file |
8 | named LICENSE; in case you did not receive a copy you can review |
9 | the terms online at: https://opensource.org/licenses/BSD-3-Clause |
10 +--------------------------------------------------------------------+
11 | Copyright (c) 2006-2014 Brian Aker https://datadifferential.com/ |
12 | Copyright (c) 2020 Michael Wallner <mike@php.net> |
13 +--------------------------------------------------------------------+
16 #include "libmemcached/common.h"
18 bool memcached_flag(const memcached_st
&memc
, const memcached_flag_t flag
) {
20 case MEMCACHED_FLAG_AUTO_EJECT_HOSTS
:
21 return memcached_is_auto_eject_hosts(&memc
);
23 case MEMCACHED_FLAG_BINARY_PROTOCOL
:
24 return memcached_is_binary(&memc
);
26 case MEMCACHED_FLAG_BUFFER_REQUESTS
:
27 return memcached_is_buffering(&memc
);
29 case MEMCACHED_FLAG_HASH_WITH_NAMESPACE
:
30 return memcached_is_hash_with_namespace(&memc
);
32 case MEMCACHED_FLAG_NO_BLOCK
:
33 return memcached_is_no_block(&memc
);
35 case MEMCACHED_FLAG_REPLY
:
36 return memcached_is_replying(&memc
);
38 case MEMCACHED_FLAG_RANDOMIZE_REPLICA_READ
:
39 return memcached_is_randomize_replica_read(&memc
);
41 case MEMCACHED_FLAG_SUPPORT_CAS
:
42 return memcached_is_cas(&memc
);
44 case MEMCACHED_FLAG_TCP_NODELAY
:
45 return memcached_is_tcp_nodelay(&memc
);
47 case MEMCACHED_FLAG_USE_SORT_HOSTS
:
48 return memcached_is_use_sort_hosts(&memc
);
50 case MEMCACHED_FLAG_USE_UDP
:
51 return memcached_is_udp(&memc
);
53 case MEMCACHED_FLAG_VERIFY_KEY
:
54 return memcached_is_verify_key(&memc
);
56 case MEMCACHED_FLAG_TCP_KEEPALIVE
:
57 return memcached_is_use_sort_hosts(&memc
);
59 case MEMCACHED_FLAG_IS_AES
:
60 return memcached_is_aes(&memc
);
62 case MEMCACHED_FLAG_IS_FETCHING_VERSION
:
63 return memcached_is_fetching_version(&memc
);
69 void memcached_flag(memcached_st
&memc
, const memcached_flag_t flag
, const bool arg
) {
71 case MEMCACHED_FLAG_AUTO_EJECT_HOSTS
:
72 memcached_set_auto_eject_hosts(memc
, arg
);
75 case MEMCACHED_FLAG_BINARY_PROTOCOL
:
76 memcached_set_binary(memc
, arg
);
79 case MEMCACHED_FLAG_BUFFER_REQUESTS
:
80 memcached_set_buffering(memc
, arg
);
83 case MEMCACHED_FLAG_HASH_WITH_NAMESPACE
:
84 memcached_set_hash_with_namespace(memc
, arg
);
87 case MEMCACHED_FLAG_NO_BLOCK
:
88 memcached_set_no_block(memc
, arg
);
91 case MEMCACHED_FLAG_REPLY
:
92 memcached_set_replying(memc
, arg
);
95 case MEMCACHED_FLAG_RANDOMIZE_REPLICA_READ
:
96 memcached_set_randomize_replica_read(memc
, arg
);
99 case MEMCACHED_FLAG_SUPPORT_CAS
:
100 memcached_set_cas(memc
, arg
);
103 case MEMCACHED_FLAG_TCP_NODELAY
:
104 memcached_set_tcp_nodelay(memc
, arg
);
107 case MEMCACHED_FLAG_USE_SORT_HOSTS
:
108 memcached_set_use_sort_hosts(memc
, arg
);
111 case MEMCACHED_FLAG_USE_UDP
:
112 memcached_set_udp(memc
, arg
);
115 case MEMCACHED_FLAG_VERIFY_KEY
:
116 memcached_set_verify_key(memc
, arg
);
119 case MEMCACHED_FLAG_TCP_KEEPALIVE
:
120 memcached_set_use_sort_hosts(memc
, arg
);
123 case MEMCACHED_FLAG_IS_AES
:
124 memcached_set_aes(memc
, arg
);
127 case MEMCACHED_FLAG_IS_FETCHING_VERSION
:
128 memcached_set_fetching_version(memc
, arg
);