couchbase-memcached 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +2 -0
- data/BENCHMARKS +134 -0
- data/CHANGELOG +127 -0
- data/LICENSE +184 -0
- data/Manifest +535 -0
- data/README +118 -0
- data/Rakefile +83 -0
- data/TODO +4 -0
- data/couchbase-memcached.gemspec +33 -0
- data/ext/extconf-make.rb +25 -0
- data/ext/extconf.rb +91 -0
- data/ext/libmemcached-0.50/AUTHORS +11 -0
- data/ext/libmemcached-0.50/COPYING +33 -0
- data/ext/libmemcached-0.50/ChangeLog +392 -0
- data/ext/libmemcached-0.50/Makefile.am +114 -0
- data/ext/libmemcached-0.50/Makefile.in +4232 -0
- data/ext/libmemcached-0.50/NEWS +1 -0
- data/ext/libmemcached-0.50/README +43 -0
- data/ext/libmemcached-0.50/README.FIRST +31 -0
- data/ext/libmemcached-0.50/README.win32 +25 -0
- data/ext/libmemcached-0.50/THANKS +14 -0
- data/ext/libmemcached-0.50/TODO +11 -0
- data/ext/libmemcached-0.50/aclocal.m4 +1077 -0
- data/ext/libmemcached-0.50/clients/client_options.h +45 -0
- data/ext/libmemcached-0.50/clients/execute.cc +131 -0
- data/ext/libmemcached-0.50/clients/execute.h +30 -0
- data/ext/libmemcached-0.50/clients/generator.cc +96 -0
- data/ext/libmemcached-0.50/clients/generator.h +36 -0
- data/ext/libmemcached-0.50/clients/include.am +116 -0
- data/ext/libmemcached-0.50/clients/memaslap.c +908 -0
- data/ext/libmemcached-0.50/clients/memcapable.cc +2094 -0
- data/ext/libmemcached-0.50/clients/memcat.cc +242 -0
- data/ext/libmemcached-0.50/clients/memcp.cc +317 -0
- data/ext/libmemcached-0.50/clients/memdump.cc +183 -0
- data/ext/libmemcached-0.50/clients/memerror.cc +102 -0
- data/ext/libmemcached-0.50/clients/memflush.cc +154 -0
- data/ext/libmemcached-0.50/clients/memparse.cc +68 -0
- data/ext/libmemcached-0.50/clients/memrm.cc +177 -0
- data/ext/libmemcached-0.50/clients/memslap.cc +495 -0
- data/ext/libmemcached-0.50/clients/memstat.cc +349 -0
- data/ext/libmemcached-0.50/clients/ms_atomic.h +69 -0
- data/ext/libmemcached-0.50/clients/ms_conn.c +3413 -0
- data/ext/libmemcached-0.50/clients/ms_conn.h +241 -0
- data/ext/libmemcached-0.50/clients/ms_memslap.h +132 -0
- data/ext/libmemcached-0.50/clients/ms_setting.c +1068 -0
- data/ext/libmemcached-0.50/clients/ms_setting.h +181 -0
- data/ext/libmemcached-0.50/clients/ms_sigsegv.c +126 -0
- data/ext/libmemcached-0.50/clients/ms_sigsegv.h +34 -0
- data/ext/libmemcached-0.50/clients/ms_stats.c +307 -0
- data/ext/libmemcached-0.50/clients/ms_stats.h +69 -0
- data/ext/libmemcached-0.50/clients/ms_task.c +1114 -0
- data/ext/libmemcached-0.50/clients/ms_task.h +94 -0
- data/ext/libmemcached-0.50/clients/ms_thread.c +351 -0
- data/ext/libmemcached-0.50/clients/ms_thread.h +78 -0
- data/ext/libmemcached-0.50/clients/utilities.cc +231 -0
- data/ext/libmemcached-0.50/clients/utilities.h +64 -0
- data/ext/libmemcached-0.50/config.h.in +647 -0
- data/ext/libmemcached-0.50/config/autorun.sh +126 -0
- data/ext/libmemcached-0.50/config/compile +143 -0
- data/ext/libmemcached-0.50/config/config.guess +1517 -0
- data/ext/libmemcached-0.50/config/config.rpath +666 -0
- data/ext/libmemcached-0.50/config/config.sub +1760 -0
- data/ext/libmemcached-0.50/config/depcomp +630 -0
- data/ext/libmemcached-0.50/config/install-sh +520 -0
- data/ext/libmemcached-0.50/config/ltmain.sh +9642 -0
- data/ext/libmemcached-0.50/config/missing +376 -0
- data/ext/libmemcached-0.50/config/pandora-plugin +752 -0
- data/ext/libmemcached-0.50/config/uncrustify.cfg +1112 -0
- data/ext/libmemcached-0.50/configure +27103 -0
- data/ext/libmemcached-0.50/configure.ac +186 -0
- data/ext/libmemcached-0.50/docs/conf.py.in +354 -0
- data/ext/libmemcached-0.50/docs/include.am +240 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_clone.3 +88 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_crc32.3 +105 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_create.3 +88 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_fnv1_32.3 +105 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_fnv1_64.3 +105 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_fnv1a_32.3 +105 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_fnv1a_64.3 +105 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_free.3 +88 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_functions.3 +105 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_hsieh.3 +105 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_is_allocated.3 +88 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_jenkins.3 +105 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_md5.3 +105 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_murmur.3 +105 -0
- data/ext/libmemcached-0.50/docs/man/hashkit_value.3 +66 -0
- data/ext/libmemcached-0.50/docs/man/libhashkit.3 +57 -0
- data/ext/libmemcached-0.50/docs/man/libmemcached.3 +208 -0
- data/ext/libmemcached-0.50/docs/man/libmemcached_check_configuration.3 +293 -0
- data/ext/libmemcached-0.50/docs/man/libmemcached_configuration.3 +293 -0
- data/ext/libmemcached-0.50/docs/man/libmemcached_examples.3 +144 -0
- data/ext/libmemcached-0.50/docs/man/libmemcachedutil.3 +68 -0
- data/ext/libmemcached-0.50/docs/man/memaslap.1 +1222 -0
- data/ext/libmemcached-0.50/docs/man/memcached.3 +293 -0
- data/ext/libmemcached-0.50/docs/man/memcached_add.3 +132 -0
- data/ext/libmemcached-0.50/docs/man/memcached_add_by_key.3 +132 -0
- data/ext/libmemcached-0.50/docs/man/memcached_analyze.3 +77 -0
- data/ext/libmemcached-0.50/docs/man/memcached_append.3 +111 -0
- data/ext/libmemcached-0.50/docs/man/memcached_append_by_key.3 +111 -0
- data/ext/libmemcached-0.50/docs/man/memcached_behavior_get.3 +333 -0
- data/ext/libmemcached-0.50/docs/man/memcached_behavior_set.3 +333 -0
- data/ext/libmemcached-0.50/docs/man/memcached_callback_get.3 +159 -0
- data/ext/libmemcached-0.50/docs/man/memcached_callback_set.3 +159 -0
- data/ext/libmemcached-0.50/docs/man/memcached_cas.3 +91 -0
- data/ext/libmemcached-0.50/docs/man/memcached_cas_by_key.3 +91 -0
- data/ext/libmemcached-0.50/docs/man/memcached_clone.3 +99 -0
- data/ext/libmemcached-0.50/docs/man/memcached_create.3 +99 -0
- data/ext/libmemcached-0.50/docs/man/memcached_decrement.3 +124 -0
- data/ext/libmemcached-0.50/docs/man/memcached_decrement_with_initial.3 +124 -0
- data/ext/libmemcached-0.50/docs/man/memcached_delete.3 +83 -0
- data/ext/libmemcached-0.50/docs/man/memcached_delete_by_key.3 +83 -0
- data/ext/libmemcached-0.50/docs/man/memcached_destroy_sasl_auth_data.3 +95 -0
- data/ext/libmemcached-0.50/docs/man/memcached_dump.3 +77 -0
- data/ext/libmemcached-0.50/docs/man/memcached_fetch.3 +174 -0
- data/ext/libmemcached-0.50/docs/man/memcached_fetch_execute.3 +174 -0
- data/ext/libmemcached-0.50/docs/man/memcached_fetch_result.3 +174 -0
- data/ext/libmemcached-0.50/docs/man/memcached_flush_buffers.3 +72 -0
- data/ext/libmemcached-0.50/docs/man/memcached_free.3 +99 -0
- data/ext/libmemcached-0.50/docs/man/memcached_generate_hash.3 +85 -0
- data/ext/libmemcached-0.50/docs/man/memcached_generate_hash_value.3 +85 -0
- data/ext/libmemcached-0.50/docs/man/memcached_get.3 +174 -0
- data/ext/libmemcached-0.50/docs/man/memcached_get_by_key.3 +174 -0
- data/ext/libmemcached-0.50/docs/man/memcached_get_memory_allocators.3 +111 -0
- data/ext/libmemcached-0.50/docs/man/memcached_get_sasl_callbacks.3 +95 -0
- data/ext/libmemcached-0.50/docs/man/memcached_get_user_data.3 +79 -0
- data/ext/libmemcached-0.50/docs/man/memcached_increment.3 +124 -0
- data/ext/libmemcached-0.50/docs/man/memcached_increment_with_initial.3 +124 -0
- data/ext/libmemcached-0.50/docs/man/memcached_lib_version.3 +76 -0
- data/ext/libmemcached-0.50/docs/man/memcached_mget.3 +174 -0
- data/ext/libmemcached-0.50/docs/man/memcached_mget_by_key.3 +174 -0
- data/ext/libmemcached-0.50/docs/man/memcached_mget_execute.3 +174 -0
- data/ext/libmemcached-0.50/docs/man/memcached_mget_execute_by_key.3 +174 -0
- data/ext/libmemcached-0.50/docs/man/memcached_pool_behavior_get.3 +139 -0
- data/ext/libmemcached-0.50/docs/man/memcached_pool_behavior_set.3 +139 -0
- data/ext/libmemcached-0.50/docs/man/memcached_pool_create.3 +139 -0
- data/ext/libmemcached-0.50/docs/man/memcached_pool_destroy.3 +139 -0
- data/ext/libmemcached-0.50/docs/man/memcached_pool_pop.3 +139 -0
- data/ext/libmemcached-0.50/docs/man/memcached_pool_push.3 +139 -0
- data/ext/libmemcached-0.50/docs/man/memcached_pool_st.3 +139 -0
- data/ext/libmemcached-0.50/docs/man/memcached_prepend.3 +111 -0
- data/ext/libmemcached-0.50/docs/man/memcached_prepend_by_key.3 +111 -0
- data/ext/libmemcached-0.50/docs/man/memcached_quit.3 +74 -0
- data/ext/libmemcached-0.50/docs/man/memcached_replace.3 +132 -0
- data/ext/libmemcached-0.50/docs/man/memcached_replace_by_key.3 +132 -0
- data/ext/libmemcached-0.50/docs/man/memcached_sasl_set_auth_data.3 +95 -0
- data/ext/libmemcached-0.50/docs/man/memcached_server_add.3 +141 -0
- data/ext/libmemcached-0.50/docs/man/memcached_server_count.3 +141 -0
- data/ext/libmemcached-0.50/docs/man/memcached_server_cursor.3 +141 -0
- data/ext/libmemcached-0.50/docs/man/memcached_server_list.3 +141 -0
- data/ext/libmemcached-0.50/docs/man/memcached_server_list_append.3 +111 -0
- data/ext/libmemcached-0.50/docs/man/memcached_server_list_count.3 +111 -0
- data/ext/libmemcached-0.50/docs/man/memcached_server_list_free.3 +111 -0
- data/ext/libmemcached-0.50/docs/man/memcached_server_push.3 +141 -0
- data/ext/libmemcached-0.50/docs/man/memcached_servers_parse.3 +111 -0
- data/ext/libmemcached-0.50/docs/man/memcached_set.3 +132 -0
- data/ext/libmemcached-0.50/docs/man/memcached_set_by_key.3 +132 -0
- data/ext/libmemcached-0.50/docs/man/memcached_set_memory_allocators.3 +111 -0
- data/ext/libmemcached-0.50/docs/man/memcached_set_sasl_callbacks.3 +95 -0
- data/ext/libmemcached-0.50/docs/man/memcached_set_user_data.3 +79 -0
- data/ext/libmemcached-0.50/docs/man/memcached_stat.3 +116 -0
- data/ext/libmemcached-0.50/docs/man/memcached_stat_execute.3 +116 -0
- data/ext/libmemcached-0.50/docs/man/memcached_stat_get_keys.3 +116 -0
- data/ext/libmemcached-0.50/docs/man/memcached_stat_get_value.3 +116 -0
- data/ext/libmemcached-0.50/docs/man/memcached_stat_servername.3 +116 -0
- data/ext/libmemcached-0.50/docs/man/memcached_strerror.3 +69 -0
- data/ext/libmemcached-0.50/docs/man/memcached_verbosity.3 +66 -0
- data/ext/libmemcached-0.50/docs/man/memcached_version.3 +76 -0
- data/ext/libmemcached-0.50/docs/man/memcapable.1 +92 -0
- data/ext/libmemcached-0.50/docs/man/memcat.1 +71 -0
- data/ext/libmemcached-0.50/docs/man/memcp.1 +77 -0
- data/ext/libmemcached-0.50/docs/man/memdump.1 +66 -0
- data/ext/libmemcached-0.50/docs/man/memerror.1 +65 -0
- data/ext/libmemcached-0.50/docs/man/memflush.1 +73 -0
- data/ext/libmemcached-0.50/docs/man/memrm.1 +72 -0
- data/ext/libmemcached-0.50/docs/man/memslap.1 +59 -0
- data/ext/libmemcached-0.50/docs/man/memstat.1 +70 -0
- data/ext/libmemcached-0.50/example/include.am +24 -0
- data/ext/libmemcached-0.50/example/interface_v0.c +594 -0
- data/ext/libmemcached-0.50/example/interface_v1.c +411 -0
- data/ext/libmemcached-0.50/example/memcached_light.c +474 -0
- data/ext/libmemcached-0.50/example/memcached_light.h +7 -0
- data/ext/libmemcached-0.50/example/storage.c +172 -0
- data/ext/libmemcached-0.50/example/storage.h +27 -0
- data/ext/libmemcached-0.50/example/storage_innodb.c +535 -0
- data/ext/libmemcached-0.50/libhashkit/algorithm.cc +69 -0
- data/ext/libmemcached-0.50/libhashkit/algorithm.h +96 -0
- data/ext/libmemcached-0.50/libhashkit/behavior.cc +9 -0
- data/ext/libmemcached-0.50/libhashkit/behavior.h +26 -0
- data/ext/libmemcached-0.50/libhashkit/common.h +33 -0
- data/ext/libmemcached-0.50/libhashkit/configure.h.in +19 -0
- data/ext/libmemcached-0.50/libhashkit/crc32.cc +86 -0
- data/ext/libmemcached-0.50/libhashkit/digest.cc +62 -0
- data/ext/libmemcached-0.50/libhashkit/digest.h +30 -0
- data/ext/libmemcached-0.50/libhashkit/fnv.cc +75 -0
- data/ext/libmemcached-0.50/libhashkit/function.cc +156 -0
- data/ext/libmemcached-0.50/libhashkit/function.h +44 -0
- data/ext/libmemcached-0.50/libhashkit/hashkit.cc +100 -0
- data/ext/libmemcached-0.50/libhashkit/hashkit.h +95 -0
- data/ext/libmemcached-0.50/libhashkit/hashkit.hpp +97 -0
- data/ext/libmemcached-0.50/libhashkit/hsieh.cc +70 -0
- data/ext/libmemcached-0.50/libhashkit/include.am +69 -0
- data/ext/libmemcached-0.50/libhashkit/jenkins.cc +214 -0
- data/ext/libmemcached-0.50/libhashkit/ketama.cc +164 -0
- data/ext/libmemcached-0.50/libhashkit/md5.cc +367 -0
- data/ext/libmemcached-0.50/libhashkit/murmur.cc +77 -0
- data/ext/libmemcached-0.50/libhashkit/one_at_a_time.cc +34 -0
- data/ext/libmemcached-0.50/libhashkit/str_algorithm.cc +58 -0
- data/ext/libmemcached-0.50/libhashkit/str_algorithm.h +48 -0
- data/ext/libmemcached-0.50/libhashkit/strerror.cc +25 -0
- data/ext/libmemcached-0.50/libhashkit/strerror.h +23 -0
- data/ext/libmemcached-0.50/libhashkit/types.h +90 -0
- data/ext/libmemcached-0.50/libhashkit/visibility.h +48 -0
- data/ext/libmemcached-0.50/libmemcached/allocators.cc +119 -0
- data/ext/libmemcached-0.50/libmemcached/allocators.h +87 -0
- data/ext/libmemcached-0.50/libmemcached/analyze.cc +110 -0
- data/ext/libmemcached-0.50/libmemcached/analyze.h +66 -0
- data/ext/libmemcached-0.50/libmemcached/array.c +128 -0
- data/ext/libmemcached-0.50/libmemcached/array.h +75 -0
- data/ext/libmemcached-0.50/libmemcached/auto.cc +383 -0
- data/ext/libmemcached-0.50/libmemcached/auto.h +111 -0
- data/ext/libmemcached-0.50/libmemcached/basic_string.h +55 -0
- data/ext/libmemcached-0.50/libmemcached/behavior.cc +590 -0
- data/ext/libmemcached-0.50/libmemcached/behavior.h +86 -0
- data/ext/libmemcached-0.50/libmemcached/byteorder.cc +90 -0
- data/ext/libmemcached-0.50/libmemcached/byteorder.h +52 -0
- data/ext/libmemcached-0.50/libmemcached/callback.cc +160 -0
- data/ext/libmemcached-0.50/libmemcached/callback.h +61 -0
- data/ext/libmemcached-0.50/libmemcached/common.h +182 -0
- data/ext/libmemcached-0.50/libmemcached/configure.h.in +52 -0
- data/ext/libmemcached-0.50/libmemcached/connect.cc +626 -0
- data/ext/libmemcached-0.50/libmemcached/constants.h +167 -0
- data/ext/libmemcached-0.50/libmemcached/delete.cc +266 -0
- data/ext/libmemcached-0.50/libmemcached/delete.h +57 -0
- data/ext/libmemcached-0.50/libmemcached/do.cc +100 -0
- data/ext/libmemcached-0.50/libmemcached/do.hpp +49 -0
- data/ext/libmemcached-0.50/libmemcached/dump.cc +107 -0
- data/ext/libmemcached-0.50/libmemcached/dump.h +51 -0
- data/ext/libmemcached-0.50/libmemcached/error.cc +419 -0
- data/ext/libmemcached-0.50/libmemcached/error.h +61 -0
- data/ext/libmemcached-0.50/libmemcached/error.hpp +87 -0
- data/ext/libmemcached-0.50/libmemcached/exception.hpp +63 -0
- data/ext/libmemcached-0.50/libmemcached/fetch.cc +267 -0
- data/ext/libmemcached-0.50/libmemcached/fetch.h +53 -0
- data/ext/libmemcached-0.50/libmemcached/flush.cc +149 -0
- data/ext/libmemcached-0.50/libmemcached/flush.h +49 -0
- data/ext/libmemcached-0.50/libmemcached/flush_buffers.cc +66 -0
- data/ext/libmemcached-0.50/libmemcached/flush_buffers.h +49 -0
- data/ext/libmemcached-0.50/libmemcached/get.cc +842 -0
- data/ext/libmemcached-0.50/libmemcached/get.h +135 -0
- data/ext/libmemcached-0.50/libmemcached/hash.cc +178 -0
- data/ext/libmemcached-0.50/libmemcached/hash.h +68 -0
- data/ext/libmemcached-0.50/libmemcached/hosts.cc +516 -0
- data/ext/libmemcached-0.50/libmemcached/include.am +183 -0
- data/ext/libmemcached-0.50/libmemcached/initialize_query.cc +70 -0
- data/ext/libmemcached-0.50/libmemcached/initialize_query.h +51 -0
- data/ext/libmemcached-0.50/libmemcached/internal.h +46 -0
- data/ext/libmemcached-0.50/libmemcached/io.cc +920 -0
- data/ext/libmemcached-0.50/libmemcached/io.h +119 -0
- data/ext/libmemcached-0.50/libmemcached/is.h +48 -0
- data/ext/libmemcached-0.50/libmemcached/key.cc +23 -0
- data/ext/libmemcached-0.50/libmemcached/libmemcached_probes.d +30 -0
- data/ext/libmemcached-0.50/libmemcached/libmemcached_probes.h +118 -0
- data/ext/libmemcached-0.50/libmemcached/memcached.cc +437 -0
- data/ext/libmemcached-0.50/libmemcached/memcached.h +214 -0
- data/ext/libmemcached-0.50/libmemcached/memcached.hpp +799 -0
- data/ext/libmemcached-0.50/libmemcached/memcached/README.txt +7 -0
- data/ext/libmemcached-0.50/libmemcached/memcached/protocol_binary.h +726 -0
- data/ext/libmemcached-0.50/libmemcached/memcached/vbucket.h +26 -0
- data/ext/libmemcached-0.50/libmemcached/memcached_util.h +44 -0
- data/ext/libmemcached-0.50/libmemcached/memory.h +79 -0
- data/ext/libmemcached-0.50/libmemcached/options.cc +178 -0
- data/ext/libmemcached-0.50/libmemcached/options.h +49 -0
- data/ext/libmemcached-0.50/libmemcached/options.hpp +56 -0
- data/ext/libmemcached-0.50/libmemcached/options/context.h +151 -0
- data/ext/libmemcached-0.50/libmemcached/options/include.am +19 -0
- data/ext/libmemcached-0.50/libmemcached/options/parser.am +0 -0
- data/ext/libmemcached-0.50/libmemcached/options/parser.cc +2324 -0
- data/ext/libmemcached-0.50/libmemcached/options/parser.h +122 -0
- data/ext/libmemcached-0.50/libmemcached/options/scanner.cc +3203 -0
- data/ext/libmemcached-0.50/libmemcached/options/scanner.h +479 -0
- data/ext/libmemcached-0.50/libmemcached/options/server.h +60 -0
- data/ext/libmemcached-0.50/libmemcached/options/symbol.h +57 -0
- data/ext/libmemcached-0.50/libmemcached/parse.cc +110 -0
- data/ext/libmemcached-0.50/libmemcached/parse.h +23 -0
- data/ext/libmemcached-0.50/libmemcached/platform.h +56 -0
- data/ext/libmemcached-0.50/libmemcached/prefix_key.cc +65 -0
- data/ext/libmemcached-0.50/libmemcached/prefix_key.h +49 -0
- data/ext/libmemcached-0.50/libmemcached/protocol/ascii_handler.c +963 -0
- data/ext/libmemcached-0.50/libmemcached/protocol/ascii_handler.h +40 -0
- data/ext/libmemcached-0.50/libmemcached/protocol/binary_handler.c +1121 -0
- data/ext/libmemcached-0.50/libmemcached/protocol/binary_handler.h +47 -0
- data/ext/libmemcached-0.50/libmemcached/protocol/cache.c +149 -0
- data/ext/libmemcached-0.50/libmemcached/protocol/cache.h +116 -0
- data/ext/libmemcached-0.50/libmemcached/protocol/callback.h +418 -0
- data/ext/libmemcached-0.50/libmemcached/protocol/common.h +163 -0
- data/ext/libmemcached-0.50/libmemcached/protocol/include.am +26 -0
- data/ext/libmemcached-0.50/libmemcached/protocol/pedantic.c +202 -0
- data/ext/libmemcached-0.50/libmemcached/protocol/protocol_handler.c +365 -0
- data/ext/libmemcached-0.50/libmemcached/protocol_handler.h +215 -0
- data/ext/libmemcached-0.50/libmemcached/purge.cc +90 -0
- data/ext/libmemcached-0.50/libmemcached/quit.cc +139 -0
- data/ext/libmemcached-0.50/libmemcached/quit.h +55 -0
- data/ext/libmemcached-0.50/libmemcached/response.cc +619 -0
- data/ext/libmemcached-0.50/libmemcached/response.h +57 -0
- data/ext/libmemcached-0.50/libmemcached/result.cc +173 -0
- data/ext/libmemcached-0.50/libmemcached/result.h +100 -0
- data/ext/libmemcached-0.50/libmemcached/return.h +98 -0
- data/ext/libmemcached-0.50/libmemcached/sasl.c +408 -0
- data/ext/libmemcached-0.50/libmemcached/sasl.h +86 -0
- data/ext/libmemcached-0.50/libmemcached/server.cc +351 -0
- data/ext/libmemcached-0.50/libmemcached/server.h +169 -0
- data/ext/libmemcached-0.50/libmemcached/server_list.cc +88 -0
- data/ext/libmemcached-0.50/libmemcached/server_list.h +77 -0
- data/ext/libmemcached-0.50/libmemcached/stats.cc +623 -0
- data/ext/libmemcached-0.50/libmemcached/stats.h +96 -0
- data/ext/libmemcached-0.50/libmemcached/storage.cc +567 -0
- data/ext/libmemcached-0.50/libmemcached/storage.h +133 -0
- data/ext/libmemcached-0.50/libmemcached/strerror.cc +189 -0
- data/ext/libmemcached-0.50/libmemcached/strerror.h +50 -0
- data/ext/libmemcached-0.50/libmemcached/string.cc +253 -0
- data/ext/libmemcached-0.50/libmemcached/string.h +121 -0
- data/ext/libmemcached-0.50/libmemcached/touch.cc +106 -0
- data/ext/libmemcached-0.50/libmemcached/touch.h +59 -0
- data/ext/libmemcached-0.50/libmemcached/types.h +117 -0
- data/ext/libmemcached-0.50/libmemcached/util.h +40 -0
- data/ext/libmemcached-0.50/libmemcached/util/flush.cc +61 -0
- data/ext/libmemcached-0.50/libmemcached/util/flush.h +50 -0
- data/ext/libmemcached-0.50/libmemcached/util/include.am +34 -0
- data/ext/libmemcached-0.50/libmemcached/util/ping.cc +62 -0
- data/ext/libmemcached-0.50/libmemcached/util/ping.h +49 -0
- data/ext/libmemcached-0.50/libmemcached/util/pool.cc +392 -0
- data/ext/libmemcached-0.50/libmemcached/util/pool.h +78 -0
- data/ext/libmemcached-0.50/libmemcached/util/version.cc +87 -0
- data/ext/libmemcached-0.50/libmemcached/util/version.h +53 -0
- data/ext/libmemcached-0.50/libmemcached/verbosity.cc +97 -0
- data/ext/libmemcached-0.50/libmemcached/verbosity.h +50 -0
- data/ext/libmemcached-0.50/libmemcached/version.cc +214 -0
- data/ext/libmemcached-0.50/libmemcached/version.h +52 -0
- data/ext/libmemcached-0.50/libmemcached/virtual_bucket.c +118 -0
- data/ext/libmemcached-0.50/libmemcached/virtual_bucket.h +59 -0
- data/ext/libmemcached-0.50/libmemcached/visibility.h +51 -0
- data/ext/libmemcached-0.50/libmemcached/watchpoint.h +110 -0
- data/ext/libmemcached-0.50/libtest/callbacks.h +21 -0
- data/ext/libmemcached-0.50/libtest/collection.h +19 -0
- data/ext/libmemcached-0.50/libtest/common.h +50 -0
- data/ext/libmemcached-0.50/libtest/core.h +11 -0
- data/ext/libmemcached-0.50/libtest/error.h +18 -0
- data/ext/libmemcached-0.50/libtest/failed.h +52 -0
- data/ext/libmemcached-0.50/libtest/framework.cc +57 -0
- data/ext/libmemcached-0.50/libtest/framework.h +137 -0
- data/ext/libmemcached-0.50/libtest/get.h +22 -0
- data/ext/libmemcached-0.50/libtest/include.am +52 -0
- data/ext/libmemcached-0.50/libtest/runner.h +19 -0
- data/ext/libmemcached-0.50/libtest/server.c +355 -0
- data/ext/libmemcached-0.50/libtest/server.h +43 -0
- data/ext/libmemcached-0.50/libtest/stats.h +30 -0
- data/ext/libmemcached-0.50/libtest/strerror.h +14 -0
- data/ext/libmemcached-0.50/libtest/test.cc +319 -0
- data/ext/libmemcached-0.50/libtest/test.h +162 -0
- data/ext/libmemcached-0.50/libtest/test.hpp +46 -0
- data/ext/libmemcached-0.50/libtest/visibility.h +69 -0
- data/ext/libmemcached-0.50/m4/ac_cxx_header_stdcxx_98.m4 +83 -0
- data/ext/libmemcached-0.50/m4/acx_pthread.m4 +271 -0
- data/ext/libmemcached-0.50/m4/byteorder.m4 +19 -0
- data/ext/libmemcached-0.50/m4/deprecated.m4 +17 -0
- data/ext/libmemcached-0.50/m4/eagain.m4 +28 -0
- data/ext/libmemcached-0.50/m4/enable_utillib.m4 +16 -0
- data/ext/libmemcached-0.50/m4/gettext.m4 +379 -0
- data/ext/libmemcached-0.50/m4/hsieh.m4 +18 -0
- data/ext/libmemcached-0.50/m4/iconv.m4 +214 -0
- data/ext/libmemcached-0.50/m4/lib-ld.m4 +110 -0
- data/ext/libmemcached-0.50/m4/lib-link.m4 +767 -0
- data/ext/libmemcached-0.50/m4/lib-prefix.m4 +221 -0
- data/ext/libmemcached-0.50/m4/libtool.m4 +7851 -0
- data/ext/libmemcached-0.50/m4/ltoptions.m4 +369 -0
- data/ext/libmemcached-0.50/m4/ltsugar.m4 +123 -0
- data/ext/libmemcached-0.50/m4/ltversion.m4 +23 -0
- data/ext/libmemcached-0.50/m4/lt~obsolete.m4 +98 -0
- data/ext/libmemcached-0.50/m4/memaslap.m4 +9 -0
- data/ext/libmemcached-0.50/m4/memcached.m4 +31 -0
- data/ext/libmemcached-0.50/m4/murmur.m4 +18 -0
- data/ext/libmemcached-0.50/m4/pandora_64bit.m4 +60 -0
- data/ext/libmemcached-0.50/m4/pandora_bison.m4 +33 -0
- data/ext/libmemcached-0.50/m4/pandora_canonical.m4 +418 -0
- data/ext/libmemcached-0.50/m4/pandora_check_compiler_version.m4 +37 -0
- data/ext/libmemcached-0.50/m4/pandora_check_cxx_standard.m4 +23 -0
- data/ext/libmemcached-0.50/m4/pandora_cinttypes.m4 +39 -0
- data/ext/libmemcached-0.50/m4/pandora_clock_gettime.m4 +15 -0
- data/ext/libmemcached-0.50/m4/pandora_compile_stdcxx_0x.m4 +103 -0
- data/ext/libmemcached-0.50/m4/pandora_cstdint.m4 +38 -0
- data/ext/libmemcached-0.50/m4/pandora_cxx_demangle.m4 +27 -0
- data/ext/libmemcached-0.50/m4/pandora_enable_dtrace.m4 +60 -0
- data/ext/libmemcached-0.50/m4/pandora_ensure_gcc_version.m4 +62 -0
- data/ext/libmemcached-0.50/m4/pandora_extensions.m4 +16 -0
- data/ext/libmemcached-0.50/m4/pandora_fdatasync.m4 +25 -0
- data/ext/libmemcached-0.50/m4/pandora_flex.m4 +33 -0
- data/ext/libmemcached-0.50/m4/pandora_have_better_malloc.m4 +66 -0
- data/ext/libmemcached-0.50/m4/pandora_have_boost.m4 +93 -0
- data/ext/libmemcached-0.50/m4/pandora_have_gcc_atomics.m4 +37 -0
- data/ext/libmemcached-0.50/m4/pandora_have_innodb.m4 +41 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libaio.m4 +56 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libavahi.m4 +41 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libbdb.m4 +40 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libboost_date_time.m4 +46 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libboost_filesystem.m4 +47 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libboost_iostreams.m4 +49 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libboost_options.m4 +47 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libboost_regex.m4 +54 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libboost_test.m4 +45 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libboost_thread.m4 +54 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libcassandra.m4 +44 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libcurl.m4 +62 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libdl.m4 +51 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libdrizzle.m4 +61 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libevent.m4 +66 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libgearman.m4 +41 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libgtest.m4 +47 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libhaildb.m4 +43 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libhashkit.m4 +42 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libinnodb.m4 +64 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libldap.m4 +73 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libmemcached.m4 +106 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libmysqlclient.m4 +146 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libndbclient.m4 +80 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libpcre.m4 +73 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libpq.m4 +46 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libpqxx.m4 +44 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libsqlite3.m4 +42 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libtokyocabinet.m4 +54 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libuuid.m4 +55 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libvbucket.m4 +40 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libxml2.m4 +52 -0
- data/ext/libmemcached-0.50/m4/pandora_have_libz.m4 +51 -0
- data/ext/libmemcached-0.50/m4/pandora_have_protobuf.m4 +82 -0
- data/ext/libmemcached-0.50/m4/pandora_have_sasl.m4 +133 -0
- data/ext/libmemcached-0.50/m4/pandora_have_thrift.m4 +45 -0
- data/ext/libmemcached-0.50/m4/pandora_header_assert.m4 +23 -0
- data/ext/libmemcached-0.50/m4/pandora_header_stdcxx_98.m4 +83 -0
- data/ext/libmemcached-0.50/m4/pandora_intltool.m4 +225 -0
- data/ext/libmemcached-0.50/m4/pandora_libtool.m4 +25 -0
- data/ext/libmemcached-0.50/m4/pandora_optimize.m4 +75 -0
- data/ext/libmemcached-0.50/m4/pandora_platform.m4 +117 -0
- data/ext/libmemcached-0.50/m4/pandora_plugins.m4 +62 -0
- data/ext/libmemcached-0.50/m4/pandora_print_callstack.m4 +61 -0
- data/ext/libmemcached-0.50/m4/pandora_pthread.m4 +258 -0
- data/ext/libmemcached-0.50/m4/pandora_python3_devel.m4 +236 -0
- data/ext/libmemcached-0.50/m4/pandora_run_cpplint.m4 +8 -0
- data/ext/libmemcached-0.50/m4/pandora_sasl.m4 +133 -0
- data/ext/libmemcached-0.50/m4/pandora_shared_ptr.m4 +59 -0
- data/ext/libmemcached-0.50/m4/pandora_stack_direction.m4 +39 -0
- data/ext/libmemcached-0.50/m4/pandora_stl_hash.m4 +94 -0
- data/ext/libmemcached-0.50/m4/pandora_swig.m4 +39 -0
- data/ext/libmemcached-0.50/m4/pandora_use_pipe.m4 +36 -0
- data/ext/libmemcached-0.50/m4/pandora_vc_build.m4 +168 -0
- data/ext/libmemcached-0.50/m4/pandora_version.m4 +11 -0
- data/ext/libmemcached-0.50/m4/pandora_visibility.m4 +75 -0
- data/ext/libmemcached-0.50/m4/pandora_warnings.m4 +447 -0
- data/ext/libmemcached-0.50/m4/pandora_with_gettext.m4 +44 -0
- data/ext/libmemcached-0.50/m4/pandora_with_lua.m4 +55 -0
- data/ext/libmemcached-0.50/m4/pandora_with_memcached.m4 +41 -0
- data/ext/libmemcached-0.50/m4/pandora_with_perl.m4 +81 -0
- data/ext/libmemcached-0.50/m4/pandora_with_php.m4 +56 -0
- data/ext/libmemcached-0.50/m4/pandora_with_python.m4 +37 -0
- data/ext/libmemcached-0.50/m4/pandora_with_python3.m4 +44 -0
- data/ext/libmemcached-0.50/m4/pandora_with_r.m4 +33 -0
- data/ext/libmemcached-0.50/m4/pandora_with_ruby.m4 +79 -0
- data/ext/libmemcached-0.50/m4/pandora_with_valgrind.m4 +17 -0
- data/ext/libmemcached-0.50/m4/pkg.m4 +157 -0
- data/ext/libmemcached-0.50/m4/po.m4 +449 -0
- data/ext/libmemcached-0.50/m4/progtest.m4 +92 -0
- data/ext/libmemcached-0.50/m4/protocol_binary.m4 +36 -0
- data/ext/libmemcached-0.50/m4/setsockopt.m4 +73 -0
- data/ext/libmemcached-0.50/m4/socket_send_flags.m4 +66 -0
- data/ext/libmemcached-0.50/poll/include.am +8 -0
- data/ext/libmemcached-0.50/poll/poll.c +77 -0
- data/ext/libmemcached-0.50/poll/poll.h +45 -0
- data/ext/libmemcached-0.50/support/include.am +11 -0
- data/ext/libmemcached-0.50/support/libmemcached-fc.spec.in +105 -0
- data/ext/libmemcached-0.50/support/libmemcached.pc.in +10 -0
- data/ext/libmemcached-0.50/support/libmemcached.spec.in +281 -0
- data/ext/libmemcached-0.50/support/set_benchmark.sh +5 -0
- data/ext/libmemcached-0.50/tests/atomsmasher.cc +295 -0
- data/ext/libmemcached-0.50/tests/basic.cc +134 -0
- data/ext/libmemcached-0.50/tests/basic.h +66 -0
- data/ext/libmemcached-0.50/tests/cpp_example.cc +195 -0
- data/ext/libmemcached-0.50/tests/deprecated.cc +72 -0
- data/ext/libmemcached-0.50/tests/deprecated.h +49 -0
- data/ext/libmemcached-0.50/tests/error_conditions.cc +63 -0
- data/ext/libmemcached-0.50/tests/error_conditions.h +48 -0
- data/ext/libmemcached-0.50/tests/hash_plus.cc +225 -0
- data/ext/libmemcached-0.50/tests/hash_results.h +127 -0
- data/ext/libmemcached-0.50/tests/hashkit_functions.cc +619 -0
- data/ext/libmemcached-0.50/tests/include.am +342 -0
- data/ext/libmemcached-0.50/tests/ketama_test_cases.h +121 -0
- data/ext/libmemcached-0.50/tests/ketama_test_cases_spy.h +118 -0
- data/ext/libmemcached-0.50/tests/libmemcached_world.h +205 -0
- data/ext/libmemcached-0.50/tests/mem_functions.cc +6648 -0
- data/ext/libmemcached-0.50/tests/mem_udp.cc +510 -0
- data/ext/libmemcached-0.50/tests/output_plus.res +5 -0
- data/ext/libmemcached-0.50/tests/parser.cc +599 -0
- data/ext/libmemcached-0.50/tests/parser.h +109 -0
- data/ext/libmemcached-0.50/tests/plus.cpp +240 -0
- data/ext/libmemcached-0.50/tests/pool.cc +78 -0
- data/ext/libmemcached-0.50/tests/pool.h +49 -0
- data/ext/libmemcached-0.50/tests/print.cc +58 -0
- data/ext/libmemcached-0.50/tests/print.h +51 -0
- data/ext/libmemcached-0.50/tests/replication.cc +333 -0
- data/ext/libmemcached-0.50/tests/replication.h +64 -0
- data/ext/libmemcached-0.50/tests/start.cc +29 -0
- data/ext/libmemcached-0.50/tests/string.cc +174 -0
- data/ext/libmemcached-0.50/tests/string.h +67 -0
- data/ext/libmemcached-0.50/tests/virtual_buckets.cc +143 -0
- data/ext/libmemcached-0.50/tests/virtual_buckets.h +51 -0
- data/ext/libmemcached-0.50/win32/include.am +11 -0
- data/ext/libmemcached-0.50/win32/wrappers.h +55 -0
- data/ext/rlibmemcached.i +263 -0
- data/ext/rlibmemcached_wrap.c +16732 -0
- data/lib/memcached.rb +32 -0
- data/lib/memcached/auth.rb +16 -0
- data/lib/memcached/behaviors.rb +77 -0
- data/lib/memcached/exceptions.rb +84 -0
- data/lib/memcached/experimental.rb +48 -0
- data/lib/memcached/memcached.rb +660 -0
- data/lib/memcached/rails.rb +133 -0
- data/test/profile/benchmark.rb +245 -0
- data/test/profile/c_profiler.rb +14 -0
- data/test/profile/exercise.rb +185 -0
- data/test/profile/rb_profiler.rb +21 -0
- data/test/profile/valgrind.rb +10 -0
- data/test/setup.rb +30 -0
- data/test/teardown.rb +0 -0
- data/test/test_helper.rb +19 -0
- data/test/unit/binding_test.rb +8 -0
- data/test/unit/memcached_experimental_test.rb +274 -0
- data/test/unit/memcached_test.rb +1293 -0
- data/test/unit/rails_test.rb +122 -0
- metadata +650 -0
- metadata.gz.sig +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
|
|
2
|
+
*
|
|
3
|
+
* Libmemcached library
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2011 Data Differential, http://datadifferential.com/
|
|
6
|
+
* Copyright (C) 2006-2009 Brian Aker All rights reserved.
|
|
7
|
+
*
|
|
8
|
+
* Redistribution and use in source and binary forms, with or without
|
|
9
|
+
* modification, are permitted provided that the following conditions are
|
|
10
|
+
* met:
|
|
11
|
+
*
|
|
12
|
+
* * Redistributions of source code must retain the above copyright
|
|
13
|
+
* notice, this list of conditions and the following disclaimer.
|
|
14
|
+
*
|
|
15
|
+
* * Redistributions in binary form must reproduce the above
|
|
16
|
+
* copyright notice, this list of conditions and the following disclaimer
|
|
17
|
+
* in the documentation and/or other materials provided with the
|
|
18
|
+
* distribution.
|
|
19
|
+
*
|
|
20
|
+
* * The names of its contributors may not be used to endorse or
|
|
21
|
+
* promote products derived from this software without specific prior
|
|
22
|
+
* written permission.
|
|
23
|
+
*
|
|
24
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
25
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
26
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
27
|
+
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
28
|
+
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
29
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
30
|
+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
31
|
+
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
32
|
+
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
33
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
34
|
+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
35
|
+
*
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#pragma once
|
|
39
|
+
|
|
40
|
+
#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
|
|
41
|
+
#include <sasl/sasl.h>
|
|
42
|
+
|
|
43
|
+
#ifdef __cplusplus
|
|
44
|
+
extern "C" {
|
|
45
|
+
#endif
|
|
46
|
+
|
|
47
|
+
LIBMEMCACHED_API
|
|
48
|
+
void memcached_set_sasl_callbacks(memcached_st *ptr,
|
|
49
|
+
const sasl_callback_t *callbacks);
|
|
50
|
+
|
|
51
|
+
LIBMEMCACHED_API
|
|
52
|
+
memcached_return_t memcached_set_sasl_auth_data(memcached_st *ptr,
|
|
53
|
+
const char *username,
|
|
54
|
+
const char *password);
|
|
55
|
+
|
|
56
|
+
LIBMEMCACHED_API
|
|
57
|
+
memcached_return_t memcached_destroy_sasl_auth_data(memcached_st *ptr);
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
LIBMEMCACHED_API
|
|
61
|
+
const sasl_callback_t *memcached_get_sasl_callbacks(memcached_st *ptr);
|
|
62
|
+
|
|
63
|
+
LIBMEMCACHED_LOCAL
|
|
64
|
+
memcached_return_t memcached_clone_sasl(memcached_st *clone, const memcached_st *source);
|
|
65
|
+
|
|
66
|
+
LIBMEMCACHED_LOCAL
|
|
67
|
+
memcached_return_t memcached_sasl_authenticate_connection(memcached_server_st *server);
|
|
68
|
+
|
|
69
|
+
#ifdef __cplusplus
|
|
70
|
+
}
|
|
71
|
+
#endif
|
|
72
|
+
|
|
73
|
+
#endif /* LIBMEMCACHED_WITH_SASL_SUPPORT */
|
|
74
|
+
|
|
75
|
+
struct memcached_sasl_st {
|
|
76
|
+
#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
|
|
77
|
+
const sasl_callback_t *callbacks;
|
|
78
|
+
#else
|
|
79
|
+
const void *callbacks;
|
|
80
|
+
#endif
|
|
81
|
+
/*
|
|
82
|
+
** Did we allocate data inside the callbacks, or did the user
|
|
83
|
+
** supply that.
|
|
84
|
+
*/
|
|
85
|
+
bool is_allocated;
|
|
86
|
+
};
|
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
|
|
2
|
+
*
|
|
3
|
+
* Libmemcached library
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2011 Data Differential, http://datadifferential.com/
|
|
6
|
+
* Copyright (C) 2006-2009 Brian Aker All rights reserved.
|
|
7
|
+
*
|
|
8
|
+
* Redistribution and use in source and binary forms, with or without
|
|
9
|
+
* modification, are permitted provided that the following conditions are
|
|
10
|
+
* met:
|
|
11
|
+
*
|
|
12
|
+
* * Redistributions of source code must retain the above copyright
|
|
13
|
+
* notice, this list of conditions and the following disclaimer.
|
|
14
|
+
*
|
|
15
|
+
* * Redistributions in binary form must reproduce the above
|
|
16
|
+
* copyright notice, this list of conditions and the following disclaimer
|
|
17
|
+
* in the documentation and/or other materials provided with the
|
|
18
|
+
* distribution.
|
|
19
|
+
*
|
|
20
|
+
* * The names of its contributors may not be used to endorse or
|
|
21
|
+
* promote products derived from this software without specific prior
|
|
22
|
+
* written permission.
|
|
23
|
+
*
|
|
24
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
25
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
26
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
27
|
+
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
28
|
+
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
29
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
30
|
+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
31
|
+
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
32
|
+
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
33
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
34
|
+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
35
|
+
*
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
/*
|
|
39
|
+
This is a partial implementation for fetching/creating memcached_server_st objects.
|
|
40
|
+
*/
|
|
41
|
+
#include <libmemcached/common.h>
|
|
42
|
+
#include <cassert>
|
|
43
|
+
|
|
44
|
+
static inline void _server_init(memcached_server_st *self, memcached_st *root,
|
|
45
|
+
const char *hostname, in_port_t port,
|
|
46
|
+
uint32_t weight, memcached_connection_t type)
|
|
47
|
+
{
|
|
48
|
+
self->options.is_shutting_down= false;
|
|
49
|
+
self->options.is_dead= false;
|
|
50
|
+
self->number_of_hosts= 0;
|
|
51
|
+
self->cursor_active= 0;
|
|
52
|
+
self->port= port;
|
|
53
|
+
self->cached_errno= 0;
|
|
54
|
+
self->fd= -1;
|
|
55
|
+
self->io_bytes_sent= 0;
|
|
56
|
+
self->server_failure_counter= 0;
|
|
57
|
+
self->weight= weight ? weight : 1; // 1 is the default weight value
|
|
58
|
+
WATCHPOINT_SET(self->io_wait_count.read= 0);
|
|
59
|
+
WATCHPOINT_SET(self->io_wait_count.write= 0);
|
|
60
|
+
self->major_version= UINT8_MAX;
|
|
61
|
+
self->micro_version= UINT8_MAX;
|
|
62
|
+
self->minor_version= UINT8_MAX;
|
|
63
|
+
self->type= type;
|
|
64
|
+
self->read_ptr= self->read_buffer;
|
|
65
|
+
self->cached_server_error= NULL;
|
|
66
|
+
self->read_buffer_length= 0;
|
|
67
|
+
self->read_data_length= 0;
|
|
68
|
+
self->write_buffer_offset= 0;
|
|
69
|
+
self->address_info= NULL;
|
|
70
|
+
self->address_info_next= NULL;
|
|
71
|
+
|
|
72
|
+
self->state= MEMCACHED_SERVER_STATE_NEW;
|
|
73
|
+
|
|
74
|
+
if (root)
|
|
75
|
+
{
|
|
76
|
+
self->next_retry= root->retry_timeout;
|
|
77
|
+
}
|
|
78
|
+
else
|
|
79
|
+
{
|
|
80
|
+
self->next_retry= 0;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
self->root= root;
|
|
84
|
+
self->limit_maxbytes= 0;
|
|
85
|
+
if (hostname)
|
|
86
|
+
{
|
|
87
|
+
strncpy(self->hostname, hostname, NI_MAXHOST - 1);
|
|
88
|
+
}
|
|
89
|
+
else
|
|
90
|
+
{
|
|
91
|
+
self->hostname[0]= 0;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
static memcached_server_st *_server_create(memcached_server_st *self, const memcached_st *memc)
|
|
96
|
+
{
|
|
97
|
+
if (not self)
|
|
98
|
+
{
|
|
99
|
+
self= (memcached_server_st *)libmemcached_malloc(memc, sizeof(memcached_server_st));
|
|
100
|
+
|
|
101
|
+
if (not self)
|
|
102
|
+
return NULL; /* MEMCACHED_MEMORY_ALLOCATION_FAILURE */
|
|
103
|
+
|
|
104
|
+
self->options.is_allocated= true;
|
|
105
|
+
}
|
|
106
|
+
else
|
|
107
|
+
{
|
|
108
|
+
self->options.is_allocated= false;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
self->options.is_initialized= true;
|
|
112
|
+
|
|
113
|
+
return self;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
memcached_server_st *memcached_server_create_with(const memcached_st *memc,
|
|
117
|
+
memcached_server_write_instance_st self,
|
|
118
|
+
const char *hostname, in_port_t port,
|
|
119
|
+
uint32_t weight, memcached_connection_t type)
|
|
120
|
+
{
|
|
121
|
+
self= _server_create(self, memc);
|
|
122
|
+
|
|
123
|
+
if (not self)
|
|
124
|
+
return NULL;
|
|
125
|
+
|
|
126
|
+
_server_init(self, const_cast<memcached_st *>(memc), hostname, port, weight, type);
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
if (type == MEMCACHED_CONNECTION_UDP)
|
|
130
|
+
{
|
|
131
|
+
self->write_buffer_offset= UDP_DATAGRAM_HEADER_LENGTH;
|
|
132
|
+
memcached_io_init_udp_header(self, 0);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return self;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
void memcached_server_free(memcached_server_st *self)
|
|
139
|
+
{
|
|
140
|
+
if (not self)
|
|
141
|
+
return;
|
|
142
|
+
|
|
143
|
+
memcached_quit_server(self, false);
|
|
144
|
+
|
|
145
|
+
if (self->cached_server_error)
|
|
146
|
+
free(self->cached_server_error);
|
|
147
|
+
|
|
148
|
+
if (self->address_info)
|
|
149
|
+
freeaddrinfo(self->address_info);
|
|
150
|
+
|
|
151
|
+
if (memcached_is_allocated(self))
|
|
152
|
+
{
|
|
153
|
+
libmemcached_free(self->root, self);
|
|
154
|
+
}
|
|
155
|
+
else
|
|
156
|
+
{
|
|
157
|
+
self->options.is_initialized= false;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/*
|
|
162
|
+
If we do not have a valid object to clone from, we toss an error.
|
|
163
|
+
*/
|
|
164
|
+
memcached_server_st *memcached_server_clone(memcached_server_st *destination,
|
|
165
|
+
const memcached_server_st *source)
|
|
166
|
+
{
|
|
167
|
+
/* We just do a normal create if source is missing */
|
|
168
|
+
if (not source)
|
|
169
|
+
return NULL;
|
|
170
|
+
|
|
171
|
+
destination= memcached_server_create_with(source->root, destination,
|
|
172
|
+
source->hostname, source->port, source->weight,
|
|
173
|
+
source->type);
|
|
174
|
+
if (not destination)
|
|
175
|
+
{
|
|
176
|
+
destination->cached_errno= source->cached_errno;
|
|
177
|
+
|
|
178
|
+
if (source->cached_server_error)
|
|
179
|
+
destination->cached_server_error= strdup(source->cached_server_error);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return destination;
|
|
183
|
+
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
memcached_return_t memcached_server_cursor(const memcached_st *ptr,
|
|
187
|
+
const memcached_server_fn *callback,
|
|
188
|
+
void *context,
|
|
189
|
+
uint32_t number_of_callbacks)
|
|
190
|
+
{
|
|
191
|
+
memcached_return_t rc;
|
|
192
|
+
if (memcached_failed(rc= initialize_const_query(ptr)))
|
|
193
|
+
{
|
|
194
|
+
return rc;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
for (uint32_t x= 0; x < memcached_server_count(ptr); x++)
|
|
198
|
+
{
|
|
199
|
+
memcached_server_instance_st instance=
|
|
200
|
+
memcached_server_instance_by_position(ptr, x);
|
|
201
|
+
|
|
202
|
+
for (uint32_t y= 0; y < number_of_callbacks; y++)
|
|
203
|
+
{
|
|
204
|
+
unsigned int iferror;
|
|
205
|
+
|
|
206
|
+
iferror= (*callback[y])(ptr, instance, context);
|
|
207
|
+
|
|
208
|
+
if (iferror)
|
|
209
|
+
continue;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
return MEMCACHED_SUCCESS;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
memcached_return_t memcached_server_execute(memcached_st *ptr,
|
|
217
|
+
memcached_server_execute_fn callback,
|
|
218
|
+
void *context)
|
|
219
|
+
{
|
|
220
|
+
for (uint32_t x= 0; x < memcached_server_count(ptr); x++)
|
|
221
|
+
{
|
|
222
|
+
memcached_server_write_instance_st instance= memcached_server_instance_fetch(ptr, x);
|
|
223
|
+
|
|
224
|
+
unsigned int iferror= (*callback)(ptr, instance, context);
|
|
225
|
+
|
|
226
|
+
if (iferror)
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
return MEMCACHED_SUCCESS;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
memcached_server_instance_st memcached_server_by_key(const memcached_st *ptr,
|
|
234
|
+
const char *key,
|
|
235
|
+
size_t key_length,
|
|
236
|
+
memcached_return_t *error)
|
|
237
|
+
{
|
|
238
|
+
memcached_return_t rc;
|
|
239
|
+
memcached_return_t unused;
|
|
240
|
+
|
|
241
|
+
if (not error)
|
|
242
|
+
error= &unused;
|
|
243
|
+
|
|
244
|
+
if (memcached_failed(rc= initialize_const_query(ptr)))
|
|
245
|
+
{
|
|
246
|
+
*error= rc;
|
|
247
|
+
return NULL;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
if (memcached_failed(rc= memcached_validate_key_length(key_length, ptr->flags.binary_protocol)))
|
|
251
|
+
{
|
|
252
|
+
*error= rc;
|
|
253
|
+
return NULL;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
if (ptr->flags.verify_key && (memcached_key_test((const char **)&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED))
|
|
257
|
+
{
|
|
258
|
+
*error= MEMCACHED_BAD_KEY_PROVIDED;
|
|
259
|
+
return NULL;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
uint32_t server_key= memcached_generate_hash(ptr, key, key_length);
|
|
263
|
+
return memcached_server_instance_by_position(ptr, server_key);
|
|
264
|
+
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
void memcached_server_error_reset(memcached_server_st *self)
|
|
268
|
+
{
|
|
269
|
+
WATCHPOINT_ASSERT(self);
|
|
270
|
+
if (not self)
|
|
271
|
+
return;
|
|
272
|
+
|
|
273
|
+
self->cached_server_error[0]= 0;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
memcached_server_instance_st memcached_server_get_last_disconnect(const memcached_st *self)
|
|
277
|
+
{
|
|
278
|
+
WATCHPOINT_ASSERT(self);
|
|
279
|
+
if (not self)
|
|
280
|
+
return 0;
|
|
281
|
+
|
|
282
|
+
return self->last_disconnected_server;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
void memcached_server_list_free(memcached_server_list_st self)
|
|
286
|
+
{
|
|
287
|
+
if (not self)
|
|
288
|
+
return;
|
|
289
|
+
|
|
290
|
+
for (uint32_t x= 0; x < memcached_server_list_count(self); x++)
|
|
291
|
+
{
|
|
292
|
+
if (self[x].address_info)
|
|
293
|
+
{
|
|
294
|
+
freeaddrinfo(self[x].address_info);
|
|
295
|
+
self[x].address_info= NULL;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
libmemcached_free(self->root, self);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
uint32_t memcached_servers_set_count(memcached_server_st *servers, uint32_t count)
|
|
303
|
+
{
|
|
304
|
+
WATCHPOINT_ASSERT(servers);
|
|
305
|
+
if (not servers)
|
|
306
|
+
return 0;
|
|
307
|
+
|
|
308
|
+
return servers->number_of_hosts= count;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
uint32_t memcached_server_count(const memcached_st *self)
|
|
312
|
+
{
|
|
313
|
+
WATCHPOINT_ASSERT(self);
|
|
314
|
+
if (not self)
|
|
315
|
+
return 0;
|
|
316
|
+
|
|
317
|
+
return self->number_of_hosts;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
const char *memcached_server_name(memcached_server_instance_st self)
|
|
321
|
+
{
|
|
322
|
+
WATCHPOINT_ASSERT(self);
|
|
323
|
+
if (not self)
|
|
324
|
+
return NULL;
|
|
325
|
+
|
|
326
|
+
return self->hostname;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
in_port_t memcached_server_port(memcached_server_instance_st self)
|
|
330
|
+
{
|
|
331
|
+
WATCHPOINT_ASSERT(self);
|
|
332
|
+
if (not self)
|
|
333
|
+
return 0;
|
|
334
|
+
|
|
335
|
+
return self->port;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
uint32_t memcached_server_response_count(memcached_server_instance_st self)
|
|
339
|
+
{
|
|
340
|
+
WATCHPOINT_ASSERT(self);
|
|
341
|
+
if (not self)
|
|
342
|
+
return 0;
|
|
343
|
+
|
|
344
|
+
return self->cursor_active;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
const char *memcached_server_error(memcached_server_instance_st ptr)
|
|
348
|
+
{
|
|
349
|
+
return ptr ? ptr->cached_server_error : NULL;
|
|
350
|
+
}
|
|
351
|
+
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
|
|
2
|
+
*
|
|
3
|
+
* Libmemcached library
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2011 Data Differential, http://datadifferential.com/
|
|
6
|
+
* Copyright (C) 2006-2009 Brian Aker All rights reserved.
|
|
7
|
+
*
|
|
8
|
+
* Redistribution and use in source and binary forms, with or without
|
|
9
|
+
* modification, are permitted provided that the following conditions are
|
|
10
|
+
* met:
|
|
11
|
+
*
|
|
12
|
+
* * Redistributions of source code must retain the above copyright
|
|
13
|
+
* notice, this list of conditions and the following disclaimer.
|
|
14
|
+
*
|
|
15
|
+
* * Redistributions in binary form must reproduce the above
|
|
16
|
+
* copyright notice, this list of conditions and the following disclaimer
|
|
17
|
+
* in the documentation and/or other materials provided with the
|
|
18
|
+
* distribution.
|
|
19
|
+
*
|
|
20
|
+
* * The names of its contributors may not be used to endorse or
|
|
21
|
+
* promote products derived from this software without specific prior
|
|
22
|
+
* written permission.
|
|
23
|
+
*
|
|
24
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
25
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
26
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
27
|
+
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
28
|
+
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
29
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
30
|
+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
31
|
+
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
32
|
+
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
33
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
34
|
+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
35
|
+
*
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
#pragma once
|
|
40
|
+
|
|
41
|
+
enum memcached_server_state_t {
|
|
42
|
+
MEMCACHED_SERVER_STATE_NEW, // fd == -1, no address lookup has been done
|
|
43
|
+
MEMCACHED_SERVER_STATE_ADDRINFO, // ADDRRESS information has been gathered
|
|
44
|
+
MEMCACHED_SERVER_STATE_IN_PROGRESS,
|
|
45
|
+
MEMCACHED_SERVER_STATE_CONNECTED
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
struct memcached_server_st {
|
|
49
|
+
struct {
|
|
50
|
+
bool is_allocated:1;
|
|
51
|
+
bool is_initialized:1;
|
|
52
|
+
bool is_shutting_down:1;
|
|
53
|
+
bool is_dead:1;
|
|
54
|
+
} options;
|
|
55
|
+
uint32_t number_of_hosts;
|
|
56
|
+
uint32_t cursor_active;
|
|
57
|
+
in_port_t port;
|
|
58
|
+
int cached_errno;
|
|
59
|
+
memcached_socket_t fd;
|
|
60
|
+
uint32_t io_bytes_sent; /* # bytes sent since last read */
|
|
61
|
+
uint32_t server_failure_counter;
|
|
62
|
+
uint32_t weight;
|
|
63
|
+
enum memcached_server_state_t state;
|
|
64
|
+
struct {
|
|
65
|
+
uint32_t read;
|
|
66
|
+
uint32_t write;
|
|
67
|
+
} io_wait_count;
|
|
68
|
+
uint8_t major_version; // Default definition of UINT8_MAX means that it has not been set.
|
|
69
|
+
uint8_t micro_version; // ditto
|
|
70
|
+
uint8_t minor_version; // ditto
|
|
71
|
+
memcached_connection_t type;
|
|
72
|
+
char *read_ptr;
|
|
73
|
+
char *cached_server_error;
|
|
74
|
+
size_t read_buffer_length;
|
|
75
|
+
size_t read_data_length;
|
|
76
|
+
size_t write_buffer_offset;
|
|
77
|
+
struct addrinfo *address_info;
|
|
78
|
+
struct addrinfo *address_info_next;
|
|
79
|
+
time_t next_retry;
|
|
80
|
+
memcached_st *root;
|
|
81
|
+
uint64_t limit_maxbytes;
|
|
82
|
+
char read_buffer[MEMCACHED_MAX_BUFFER];
|
|
83
|
+
char write_buffer[MEMCACHED_MAX_BUFFER];
|
|
84
|
+
char hostname[NI_MAXHOST];
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
#ifdef __cplusplus
|
|
89
|
+
extern "C" {
|
|
90
|
+
#endif
|
|
91
|
+
|
|
92
|
+
LIBMEMCACHED_API
|
|
93
|
+
memcached_return_t memcached_server_cursor(const memcached_st *ptr,
|
|
94
|
+
const memcached_server_fn *callback,
|
|
95
|
+
void *context,
|
|
96
|
+
uint32_t number_of_callbacks);
|
|
97
|
+
|
|
98
|
+
LIBMEMCACHED_API
|
|
99
|
+
memcached_server_instance_st memcached_server_by_key(const memcached_st *ptr,
|
|
100
|
+
const char *key,
|
|
101
|
+
size_t key_length,
|
|
102
|
+
memcached_return_t *error);
|
|
103
|
+
|
|
104
|
+
LIBMEMCACHED_API
|
|
105
|
+
void memcached_server_error_reset(memcached_server_st *ptr);
|
|
106
|
+
|
|
107
|
+
LIBMEMCACHED_API
|
|
108
|
+
void memcached_server_free(memcached_server_st *ptr);
|
|
109
|
+
|
|
110
|
+
LIBMEMCACHED_LOCAL
|
|
111
|
+
memcached_server_st *memcached_server_clone(memcached_server_st *destination,
|
|
112
|
+
const memcached_server_st *source);
|
|
113
|
+
|
|
114
|
+
LIBMEMCACHED_API
|
|
115
|
+
memcached_server_instance_st memcached_server_get_last_disconnect(const memcached_st *ptr);
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
LIBMEMCACHED_API
|
|
119
|
+
memcached_return_t memcached_server_add_udp(memcached_st *ptr,
|
|
120
|
+
const char *hostname,
|
|
121
|
+
in_port_t port);
|
|
122
|
+
LIBMEMCACHED_API
|
|
123
|
+
memcached_return_t memcached_server_add_unix_socket(memcached_st *ptr,
|
|
124
|
+
const char *filename);
|
|
125
|
+
LIBMEMCACHED_API
|
|
126
|
+
memcached_return_t memcached_server_add(memcached_st *ptr,
|
|
127
|
+
const char *hostname, in_port_t port);
|
|
128
|
+
|
|
129
|
+
LIBMEMCACHED_LOCAL
|
|
130
|
+
memcached_return_t memcached_server_add_parsed(memcached_st *ptr,
|
|
131
|
+
const char *hostname,
|
|
132
|
+
size_t hostname_length,
|
|
133
|
+
in_port_t port,
|
|
134
|
+
uint32_t weight);
|
|
135
|
+
|
|
136
|
+
LIBMEMCACHED_API
|
|
137
|
+
memcached_return_t memcached_server_add_udp_with_weight(memcached_st *ptr,
|
|
138
|
+
const char *hostname,
|
|
139
|
+
in_port_t port,
|
|
140
|
+
uint32_t weight);
|
|
141
|
+
LIBMEMCACHED_API
|
|
142
|
+
memcached_return_t memcached_server_add_unix_socket_with_weight(memcached_st *ptr,
|
|
143
|
+
const char *filename,
|
|
144
|
+
uint32_t weight);
|
|
145
|
+
LIBMEMCACHED_API
|
|
146
|
+
memcached_return_t memcached_server_add_with_weight(memcached_st *ptr, const char *hostname,
|
|
147
|
+
in_port_t port,
|
|
148
|
+
uint32_t weight);
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
Operations on Single Servers.
|
|
152
|
+
*/
|
|
153
|
+
LIBMEMCACHED_API
|
|
154
|
+
uint32_t memcached_server_response_count(memcached_server_instance_st self);
|
|
155
|
+
|
|
156
|
+
LIBMEMCACHED_API
|
|
157
|
+
const char *memcached_server_name(memcached_server_instance_st self);
|
|
158
|
+
|
|
159
|
+
LIBMEMCACHED_API
|
|
160
|
+
in_port_t memcached_server_port(memcached_server_instance_st self);
|
|
161
|
+
|
|
162
|
+
LIBMEMCACHED_API
|
|
163
|
+
const char *memcached_server_error(memcached_server_instance_st ptr);
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
#ifdef __cplusplus
|
|
168
|
+
} // extern "C"
|
|
169
|
+
#endif
|