| 191 | | } |
| 192 | | |
| 193 | | sub get_distribution_method |
| 194 | | { |
| 195 | | shift->memcached_behavior_get( Memcached::libmemcached::MEMCACHED_BEHAVIOR_DISTRIBUTION() ); |
| 196 | | } |
| 197 | | |
| 198 | | sub set_distribution_method |
| 199 | | { |
| 200 | | shift->memcached_behavior_set( |
| 201 | | Memcached::libmemcached::MEMCACHED_BEHAVIOR_DISTRIBUTION(), |
| 202 | | $_[0] |
| 203 | | ); |
| 204 | | } |
| 205 | | |
| 206 | | sub get_hashing_algorithm |
| 207 | | { |
| 208 | | shift->memcached_behavior_get( Memcached::libmemcached::MEMCACHED_BEHAVIOR_HASH() ); |
| 209 | | } |
| 210 | | |
| 211 | | sub set_hashing_algorithm |
| 212 | | { |
| 213 | | shift->memcached_behavior_set( |
| 214 | | Memcached::libmemcached::MEMCACHED_BEHAVIOR_HASH(), |
| 215 | | $_[0] |
| 216 | | ); |
| | 187 | |
| | 188 | foreach my $name (@boolean_behavior) { |
| | 189 | my $code = sprintf(<<' EOSUB', $name, uc $name, $name, uc $name); |
| | 190 | sub is_%s { |
| | 191 | $_[0]->memcached_behavior_get( Memcached::libmemcached::MEMCACHED_BEHAVIOR_%s() ); |
| | 192 | } |
| | 193 | |
| | 194 | sub set_%s { |
| | 195 | $_[0]->memcached_behavior_set( Memcached::libmemcached::MEMCACHED_BEHAVIOR_%s(), $_[1] ); |
| | 196 | } |
| | 197 | EOSUB |
| | 198 | eval $code; |
| | 199 | die if $@; |
| | 200 | } |
| | 201 | |
| | 202 | while (my($method, $field) = each %behavior) { |
| | 203 | my $code = sprintf(<<' EOSUB', $method, uc $field, $method, uc $field); |
| | 204 | sub get_%s { |
| | 205 | $_[0]->memcached_behavior_get( Memcached::libmemcached::MEMCACHED_BEHAVIOR_%s() ); |
| | 206 | } |
| | 207 | |
| | 208 | sub set_%s { |
| | 209 | $_[0]->memcached_behavior_set( Memcached::libmemcached::MEMCACHED_BEHAVIOR_%s(), $_[1]); |
| | 210 | } |
| | 211 | EOSUB |
| | 212 | eval $code; |
| | 213 | die if $@; |
| | 214 | } |
| | 215 | |