nutcracker 0.2.4.mac9 → 0.2.4.1
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/README.md +13 -46
- data/Rakefile +20 -15
- data/bin/nutcracker +1 -6
- data/ext/nutcracker/ChangeLog +0 -9
- data/ext/nutcracker/LICENSE +0 -0
- data/ext/nutcracker/Makefile.am +0 -0
- data/ext/nutcracker/Makefile.in +149 -66
- data/ext/nutcracker/NOTICE +0 -0
- data/ext/nutcracker/README.md +11 -13
- data/ext/nutcracker/aclocal.m4 +201 -112
- data/ext/nutcracker/conf/nutcracker.leaf.yml +0 -0
- data/ext/nutcracker/conf/nutcracker.root.yml +0 -0
- data/ext/nutcracker/conf/nutcracker.yml +0 -0
- data/ext/nutcracker/config.h.in +0 -15
- data/ext/nutcracker/config/config.guess +84 -23
- data/ext/nutcracker/config/config.sub +93 -23
- data/ext/nutcracker/config/depcomp +81 -35
- data/ext/nutcracker/config/install-sh +122 -109
- data/ext/nutcracker/config/ltmain.sh +721 -1053
- data/ext/nutcracker/config/missing +29 -20
- data/ext/nutcracker/configure +2311 -2113
- data/ext/nutcracker/configure.ac +3 -35
- data/ext/nutcracker/contrib/Makefile.am +0 -0
- data/ext/nutcracker/contrib/Makefile.in +107 -41
- data/ext/nutcracker/contrib/yaml-0.1.4.tar.gz +0 -0
- data/ext/nutcracker/extconf.rb +5 -3
- data/ext/nutcracker/m4/libtool.m4 +492 -553
- data/ext/nutcracker/m4/ltoptions.m4 +6 -7
- data/ext/nutcracker/m4/ltversion.m4 +5 -5
- data/ext/nutcracker/m4/lt~obsolete.m4 +3 -9
- data/ext/nutcracker/notes/c-styleguide.txt +0 -0
- data/ext/nutcracker/notes/debug.txt +0 -0
- data/ext/nutcracker/notes/memcache.txt +0 -0
- data/ext/nutcracker/notes/recommendation.md +2 -21
- data/ext/nutcracker/notes/redis.md +9 -9
- data/ext/nutcracker/notes/socket.txt +0 -0
- data/ext/nutcracker/scripts/nutcracker.init +0 -0
- data/ext/nutcracker/scripts/nutcracker.spec +0 -0
- data/ext/nutcracker/scripts/redis-check.py +0 -0
- data/ext/nutcracker/scripts/redis-check.sh +0 -9
- data/ext/nutcracker/src/Makefile.am +1 -1
- data/ext/nutcracker/src/Makefile.in +153 -74
- data/ext/nutcracker/src/hashkit/Makefile.am +0 -1
- data/ext/nutcracker/src/hashkit/Makefile.in +64 -39
- data/ext/nutcracker/src/hashkit/nc_crc32.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_fnv.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_hashkit.h +0 -2
- data/ext/nutcracker/src/hashkit/nc_hsieh.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_jenkins.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_ketama.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_md5.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_modula.c +6 -18
- data/ext/nutcracker/src/hashkit/nc_murmur.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_one_at_a_time.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_random.c +0 -0
- data/ext/nutcracker/src/nc.c +0 -0
- data/ext/nutcracker/src/nc_array.c +0 -0
- data/ext/nutcracker/src/nc_array.h +0 -0
- data/ext/nutcracker/src/nc_client.c +0 -0
- data/ext/nutcracker/src/nc_client.h +0 -0
- data/ext/nutcracker/src/nc_conf.c +35 -14
- data/ext/nutcracker/src/nc_conf.h +1 -1
- data/ext/nutcracker/src/nc_connection.c +0 -0
- data/ext/nutcracker/src/nc_connection.h +0 -0
- data/ext/nutcracker/src/nc_core.c +26 -29
- data/ext/nutcracker/src/nc_core.h +5 -13
- data/ext/nutcracker/src/{nc_epoll.c → nc_event.c} +30 -94
- data/ext/nutcracker/src/nc_event.h +13 -33
- data/ext/nutcracker/src/nc_log.c +0 -0
- data/ext/nutcracker/src/nc_log.h +0 -0
- data/ext/nutcracker/src/nc_mbuf.c +0 -0
- data/ext/nutcracker/src/nc_mbuf.h +0 -0
- data/ext/nutcracker/src/nc_message.c +0 -0
- data/ext/nutcracker/src/nc_message.h +0 -2
- data/ext/nutcracker/src/nc_proxy.c +8 -8
- data/ext/nutcracker/src/nc_proxy.h +0 -0
- data/ext/nutcracker/src/nc_queue.h +0 -0
- data/ext/nutcracker/src/nc_rbtree.c +0 -0
- data/ext/nutcracker/src/nc_rbtree.h +0 -0
- data/ext/nutcracker/src/nc_request.c +3 -3
- data/ext/nutcracker/src/nc_response.c +6 -4
- data/ext/nutcracker/src/nc_server.c +12 -14
- data/ext/nutcracker/src/nc_server.h +0 -0
- data/ext/nutcracker/src/nc_signal.c +0 -0
- data/ext/nutcracker/src/nc_signal.h +0 -0
- data/ext/nutcracker/src/nc_stats.c +21 -16
- data/ext/nutcracker/src/nc_stats.h +4 -3
- data/ext/nutcracker/src/nc_string.c +0 -0
- data/ext/nutcracker/src/nc_string.h +0 -0
- data/ext/nutcracker/src/nc_util.c +0 -16
- data/ext/nutcracker/src/nc_util.h +0 -1
- data/ext/nutcracker/src/proto/Makefile.am +0 -0
- data/ext/nutcracker/src/proto/Makefile.in +60 -32
- data/ext/nutcracker/src/proto/nc_memcache.c +0 -0
- data/ext/nutcracker/src/proto/nc_proto.h +0 -0
- data/ext/nutcracker/src/proto/nc_redis.c +4 -17
- data/lib/nutcracker.rb +2 -187
- data/lib/nutcracker/version.rb +1 -1
- metadata +10 -256
- data/ext/nutcracker/Makefile +0 -643
- data/ext/nutcracker/autom4te.cache/output.0 +0 -18664
- data/ext/nutcracker/autom4te.cache/output.1 +0 -18664
- data/ext/nutcracker/autom4te.cache/output.2 +0 -18664
- data/ext/nutcracker/autom4te.cache/requests +0 -494
- data/ext/nutcracker/autom4te.cache/traces.0 +0 -2415
- data/ext/nutcracker/autom4te.cache/traces.1 +0 -945
- data/ext/nutcracker/autom4te.cache/traces.2 +0 -2415
- data/ext/nutcracker/config.h +0 -332
- data/ext/nutcracker/config.log +0 -2684
- data/ext/nutcracker/config.status +0 -2317
- data/ext/nutcracker/contrib/Makefile +0 -494
- data/ext/nutcracker/contrib/yaml-0.1.4/Makefile +0 -736
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.0 +0 -13102
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.1 +0 -13085
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.2 +0 -13085
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/requests +0 -476
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.0 +0 -2339
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.1 +0 -545
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.2 +0 -2339
- data/ext/nutcracker/contrib/yaml-0.1.4/config.h +0 -81
- data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in~ +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/config.log +0 -688
- data/ext/nutcracker/contrib/yaml-0.1.4/config.status +0 -2032
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/annotated.html +0 -51
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/bc_s.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/classes.html +0 -41
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/closed.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.css +0 -656
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/files.html +0 -40
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions.html +0 -91
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x62.html +0 -84
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x63.html +0 -87
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x64.html +0 -83
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x65.html +0 -110
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x66.html +0 -79
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x68.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x69.html +0 -92
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6b.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6c.html +0 -88
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6d.html +0 -96
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6e.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6f.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x70.html +0 -100
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x71.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x72.html +0 -87
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x73.html +0 -163
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x74.html +0 -115
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x75.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x76.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x77.html +0 -77
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars.html +0 -91
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x62.html +0 -84
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x63.html +0 -87
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x64.html +0 -83
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x65.html +0 -110
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x66.html +0 -79
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x68.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x69.html +0 -92
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6b.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6c.html +0 -88
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6d.html +0 -96
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6e.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6f.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x70.html +0 -100
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x71.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x72.html +0 -87
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x73.html +0 -163
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x74.html +0 -115
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x75.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x76.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x77.html +0 -77
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals.html +0 -667
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_defs.html +0 -81
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_enum.html +0 -78
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_eval.html +0 -373
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_func.html +0 -196
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_type.html +0 -126
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__basic.html +0 -320
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__emitter.html +0 -819
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__events.html +0 -664
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__export.html +0 -60
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__nodes.html +0 -795
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__parser.html +0 -606
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__styles.html +0 -222
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__tokens.html +0 -246
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__version.html +0 -106
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/index.html +0 -31
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/modules.html +0 -42
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_f.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_h.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/open.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__alias__data__s.html +0 -108
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__document__s.html +0 -235
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__emitter__s.html +0 -1300
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__event__s.html +0 -496
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__mark__s.html +0 -108
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__pair__s.html +0 -91
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__s.html +0 -420
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__parser__s.html +0 -1229
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__simple__key__s.html +0 -97
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__tag__directive__s.html +0 -91
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__token__s.html +0 -413
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__version__directive__s.html +0 -91
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_a.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_b.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_h.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_s.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tabs.css +0 -59
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/yaml_8h.html +0 -525
- data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.am +0 -17
- data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.in +0 -470
- data/ext/nutcracker/contrib/yaml-0.1.4/libtool +0 -8890
- data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile +0 -484
- data/ext/nutcracker/contrib/yaml-0.1.4/src/api.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/api.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/libyaml.la +0 -41
- data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/stamp-h1 +0 -1
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile +0 -675
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc +0 -10
- data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc.in +0 -10
- data/ext/nutcracker/libtool +0 -9403
- data/ext/nutcracker/src/Makefile +0 -647
- data/ext/nutcracker/src/hashkit/Makefile +0 -476
- data/ext/nutcracker/src/hashkit/libhashkit.a +0 -0
- data/ext/nutcracker/src/hashkit/nc_crc16.c +0 -66
- data/ext/nutcracker/src/hashkit/nc_crc16.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_crc32.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_fnv.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_hsieh.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_jenkins.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_ketama.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_md5.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_modula.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_murmur.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_one_at_a_time.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_random.o +0 -0
- data/ext/nutcracker/src/nc.o +0 -0
- data/ext/nutcracker/src/nc_array.o +0 -0
- data/ext/nutcracker/src/nc_client.o +0 -0
- data/ext/nutcracker/src/nc_conf.o +0 -0
- data/ext/nutcracker/src/nc_connection.o +0 -0
- data/ext/nutcracker/src/nc_core.o +0 -0
- data/ext/nutcracker/src/nc_epoll.o +0 -0
- data/ext/nutcracker/src/nc_kqueue.c +0 -296
- data/ext/nutcracker/src/nc_kqueue.o +0 -0
- data/ext/nutcracker/src/nc_log.o +0 -0
- data/ext/nutcracker/src/nc_mbuf.o +0 -0
- data/ext/nutcracker/src/nc_message.o +0 -0
- data/ext/nutcracker/src/nc_proxy.o +0 -0
- data/ext/nutcracker/src/nc_rbtree.o +0 -0
- data/ext/nutcracker/src/nc_request.o +0 -0
- data/ext/nutcracker/src/nc_response.o +0 -0
- data/ext/nutcracker/src/nc_server.o +0 -0
- data/ext/nutcracker/src/nc_signal.o +0 -0
- data/ext/nutcracker/src/nc_stats.o +0 -0
- data/ext/nutcracker/src/nc_string.o +0 -0
- data/ext/nutcracker/src/nc_util.o +0 -0
- data/ext/nutcracker/src/nutcracker +0 -0
- data/ext/nutcracker/src/proto/Makefile +0 -454
- data/ext/nutcracker/src/proto/libproto.a +0 -0
- data/ext/nutcracker/src/proto/nc_memcache.o +0 -0
- data/ext/nutcracker/src/proto/nc_redis.o +0 -0
- data/ext/nutcracker/stamp-h1 +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
# Makefile.in generated by automake 1.
|
|
1
|
+
# Makefile.in generated by automake 1.11 from Makefile.am.
|
|
2
2
|
# @configure_input@
|
|
3
3
|
|
|
4
4
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
|
5
|
-
# 2003, 2004, 2005, 2006 Free Software Foundation,
|
|
5
|
+
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
|
|
6
|
+
# Inc.
|
|
6
7
|
# This Makefile.in is free software; the Free Software Foundation
|
|
7
8
|
# gives unlimited permission to copy and/or distribute it,
|
|
8
9
|
# with or without modifications, as long as this notice is preserved.
|
|
@@ -17,8 +18,9 @@
|
|
|
17
18
|
|
|
18
19
|
VPATH = @srcdir@
|
|
19
20
|
pkgdatadir = $(datadir)/@PACKAGE@
|
|
20
|
-
pkglibdir = $(libdir)/@PACKAGE@
|
|
21
21
|
pkgincludedir = $(includedir)/@PACKAGE@
|
|
22
|
+
pkglibdir = $(libdir)/@PACKAGE@
|
|
23
|
+
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
|
22
24
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|
23
25
|
install_sh_DATA = $(install_sh) -c -m 644
|
|
24
26
|
install_sh_PROGRAM = $(install_sh) -c
|
|
@@ -46,19 +48,20 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
|
|
46
48
|
mkinstalldirs = $(install_sh) -d
|
|
47
49
|
CONFIG_HEADER = $(top_builddir)/config.h
|
|
48
50
|
CONFIG_CLEAN_FILES =
|
|
51
|
+
CONFIG_CLEAN_VPATH_FILES =
|
|
49
52
|
LIBRARIES = $(noinst_LIBRARIES)
|
|
50
53
|
ARFLAGS = cru
|
|
51
54
|
libhashkit_a_AR = $(AR) $(ARFLAGS)
|
|
52
55
|
libhashkit_a_LIBADD =
|
|
53
|
-
am_libhashkit_a_OBJECTS =
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
nc_random.$(OBJEXT)
|
|
56
|
+
am_libhashkit_a_OBJECTS = nc_crc32.$(OBJEXT) nc_fnv.$(OBJEXT) \
|
|
57
|
+
nc_hsieh.$(OBJEXT) nc_jenkins.$(OBJEXT) nc_ketama.$(OBJEXT) \
|
|
58
|
+
nc_md5.$(OBJEXT) nc_modula.$(OBJEXT) nc_murmur.$(OBJEXT) \
|
|
59
|
+
nc_one_at_a_time.$(OBJEXT) nc_random.$(OBJEXT)
|
|
58
60
|
libhashkit_a_OBJECTS = $(am_libhashkit_a_OBJECTS)
|
|
59
|
-
DEFAULT_INCLUDES = -I
|
|
61
|
+
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
|
60
62
|
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
|
|
61
63
|
am__depfiles_maybe = depfiles
|
|
64
|
+
am__mv = mv -f
|
|
62
65
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
|
63
66
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
|
64
67
|
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
|
@@ -174,6 +177,7 @@ libdir = @libdir@
|
|
|
174
177
|
libexecdir = @libexecdir@
|
|
175
178
|
localedir = @localedir@
|
|
176
179
|
localstatedir = @localstatedir@
|
|
180
|
+
lt_ECHO = @lt_ECHO@
|
|
177
181
|
mandir = @mandir@
|
|
178
182
|
mkdir_p = @mkdir_p@
|
|
179
183
|
oldincludedir = @oldincludedir@
|
|
@@ -196,7 +200,6 @@ AM_CFLAGS = -Wall -Wshadow -Wno-unused-parameter -Wno-unused-value
|
|
|
196
200
|
noinst_LIBRARIES = libhashkit.a
|
|
197
201
|
noinst_HEADERS = nc_hashkit.h
|
|
198
202
|
libhashkit_a_SOURCES = \
|
|
199
|
-
nc_crc16.c \
|
|
200
203
|
nc_crc32.c \
|
|
201
204
|
nc_fnv.c \
|
|
202
205
|
nc_hsieh.c \
|
|
@@ -216,14 +219,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
|
|
216
219
|
@for dep in $?; do \
|
|
217
220
|
case '$(am__configure_deps)' in \
|
|
218
221
|
*$$dep*) \
|
|
219
|
-
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
|
220
|
-
|
|
222
|
+
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
|
223
|
+
&& { if test -f $@; then exit 0; else break; fi; }; \
|
|
221
224
|
exit 1;; \
|
|
222
225
|
esac; \
|
|
223
226
|
done; \
|
|
224
|
-
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign
|
|
225
|
-
|
|
226
|
-
$(AUTOMAKE) --foreign
|
|
227
|
+
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/hashkit/Makefile'; \
|
|
228
|
+
$(am__cd) $(top_srcdir) && \
|
|
229
|
+
$(AUTOMAKE) --foreign src/hashkit/Makefile
|
|
227
230
|
.PRECIOUS: Makefile
|
|
228
231
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
229
232
|
@case '$?' in \
|
|
@@ -241,6 +244,7 @@ $(top_srcdir)/configure: $(am__configure_deps)
|
|
|
241
244
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
242
245
|
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
|
243
246
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
247
|
+
$(am__aclocal_m4_deps):
|
|
244
248
|
|
|
245
249
|
clean-noinstLIBRARIES:
|
|
246
250
|
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
|
@@ -255,7 +259,6 @@ mostlyclean-compile:
|
|
|
255
259
|
distclean-compile:
|
|
256
260
|
-rm -f *.tab.c
|
|
257
261
|
|
|
258
|
-
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nc_crc16.Po@am__quote@
|
|
259
262
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nc_crc32.Po@am__quote@
|
|
260
263
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nc_fnv.Po@am__quote@
|
|
261
264
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nc_hsieh.Po@am__quote@
|
|
@@ -269,21 +272,21 @@ distclean-compile:
|
|
|
269
272
|
|
|
270
273
|
.c.o:
|
|
271
274
|
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
|
272
|
-
@am__fastdepCC_TRUE@
|
|
275
|
+
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
|
273
276
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
|
274
277
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
275
278
|
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
|
276
279
|
|
|
277
280
|
.c.obj:
|
|
278
281
|
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
|
279
|
-
@am__fastdepCC_TRUE@
|
|
282
|
+
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
|
280
283
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
|
281
284
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
282
285
|
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
|
283
286
|
|
|
284
287
|
.c.lo:
|
|
285
288
|
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
|
286
|
-
@am__fastdepCC_TRUE@
|
|
289
|
+
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
|
287
290
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
|
288
291
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
289
292
|
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
|
@@ -299,45 +302,49 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|
|
299
302
|
unique=`for i in $$list; do \
|
|
300
303
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
301
304
|
done | \
|
|
302
|
-
$(AWK) '
|
|
303
|
-
|
|
305
|
+
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
306
|
+
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
304
307
|
mkid -fID $$unique
|
|
305
308
|
tags: TAGS
|
|
306
309
|
|
|
307
310
|
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|
308
311
|
$(TAGS_FILES) $(LISP)
|
|
309
|
-
|
|
312
|
+
set x; \
|
|
310
313
|
here=`pwd`; \
|
|
311
314
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
|
312
315
|
unique=`for i in $$list; do \
|
|
313
316
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
314
317
|
done | \
|
|
315
|
-
$(AWK) '
|
|
316
|
-
|
|
317
|
-
|
|
318
|
+
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
319
|
+
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
320
|
+
shift; \
|
|
321
|
+
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
|
318
322
|
test -n "$$unique" || unique=$$empty_fix; \
|
|
319
|
-
|
|
320
|
-
|
|
323
|
+
if test $$# -gt 0; then \
|
|
324
|
+
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
325
|
+
"$$@" $$unique; \
|
|
326
|
+
else \
|
|
327
|
+
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
328
|
+
$$unique; \
|
|
329
|
+
fi; \
|
|
321
330
|
fi
|
|
322
331
|
ctags: CTAGS
|
|
323
332
|
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|
324
333
|
$(TAGS_FILES) $(LISP)
|
|
325
|
-
tags=; \
|
|
326
|
-
here=`pwd`; \
|
|
327
334
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
|
328
335
|
unique=`for i in $$list; do \
|
|
329
336
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
330
337
|
done | \
|
|
331
|
-
$(AWK) '
|
|
332
|
-
|
|
333
|
-
test -z "$(CTAGS_ARGS)$$
|
|
338
|
+
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
339
|
+
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
340
|
+
test -z "$(CTAGS_ARGS)$$unique" \
|
|
334
341
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|
335
|
-
$$
|
|
342
|
+
$$unique
|
|
336
343
|
|
|
337
344
|
GTAGS:
|
|
338
345
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
|
339
|
-
&&
|
|
340
|
-
&& gtags -i $(GTAGS_ARGS) $$here
|
|
346
|
+
&& $(am__cd) $(top_srcdir) \
|
|
347
|
+
&& gtags -i $(GTAGS_ARGS) "$$here"
|
|
341
348
|
|
|
342
349
|
distclean-tags:
|
|
343
350
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
|
@@ -358,13 +365,17 @@ distdir: $(DISTFILES)
|
|
|
358
365
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
|
359
366
|
if test -d $$d/$$file; then \
|
|
360
367
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
|
368
|
+
if test -d "$(distdir)/$$file"; then \
|
|
369
|
+
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
|
370
|
+
fi; \
|
|
361
371
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
|
362
|
-
cp -
|
|
372
|
+
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
|
373
|
+
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
|
363
374
|
fi; \
|
|
364
|
-
cp -
|
|
375
|
+
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
|
365
376
|
else \
|
|
366
|
-
test -f $(distdir)/$$file \
|
|
367
|
-
|| cp -p $$d/$$file $(distdir)/$$file \
|
|
377
|
+
test -f "$(distdir)/$$file" \
|
|
378
|
+
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
|
368
379
|
|| exit 1; \
|
|
369
380
|
fi; \
|
|
370
381
|
done
|
|
@@ -392,6 +403,7 @@ clean-generic:
|
|
|
392
403
|
|
|
393
404
|
distclean-generic:
|
|
394
405
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
|
406
|
+
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
|
395
407
|
|
|
396
408
|
maintainer-clean-generic:
|
|
397
409
|
@echo "This command is intended for maintainers to use"
|
|
@@ -414,6 +426,8 @@ dvi-am:
|
|
|
414
426
|
|
|
415
427
|
html: html-am
|
|
416
428
|
|
|
429
|
+
html-am:
|
|
430
|
+
|
|
417
431
|
info: info-am
|
|
418
432
|
|
|
419
433
|
info-am:
|
|
@@ -422,18 +436,28 @@ install-data-am:
|
|
|
422
436
|
|
|
423
437
|
install-dvi: install-dvi-am
|
|
424
438
|
|
|
439
|
+
install-dvi-am:
|
|
440
|
+
|
|
425
441
|
install-exec-am:
|
|
426
442
|
|
|
427
443
|
install-html: install-html-am
|
|
428
444
|
|
|
445
|
+
install-html-am:
|
|
446
|
+
|
|
429
447
|
install-info: install-info-am
|
|
430
448
|
|
|
449
|
+
install-info-am:
|
|
450
|
+
|
|
431
451
|
install-man:
|
|
432
452
|
|
|
433
453
|
install-pdf: install-pdf-am
|
|
434
454
|
|
|
455
|
+
install-pdf-am:
|
|
456
|
+
|
|
435
457
|
install-ps: install-ps-am
|
|
436
458
|
|
|
459
|
+
install-ps-am:
|
|
460
|
+
|
|
437
461
|
installcheck-am:
|
|
438
462
|
|
|
439
463
|
maintainer-clean: maintainer-clean-am
|
|
@@ -471,6 +495,7 @@ uninstall-am:
|
|
|
471
495
|
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
|
472
496
|
pdf pdf-am ps ps-am tags uninstall uninstall-am
|
|
473
497
|
|
|
498
|
+
|
|
474
499
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
475
500
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
476
501
|
.NOEXPORT:
|
|
File without changes
|
|
File without changes
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
#define HASH_CODEC(ACTION) \
|
|
25
25
|
ACTION( HASH_ONE_AT_A_TIME, one_at_a_time ) \
|
|
26
26
|
ACTION( HASH_MD5, md5 ) \
|
|
27
|
-
ACTION( HASH_CRC16, crc16 ) \
|
|
28
27
|
ACTION( HASH_CRC32, crc32 ) \
|
|
29
28
|
ACTION( HASH_FNV1_64, fnv1_64 ) \
|
|
30
29
|
ACTION( HASH_FNV1A_64, fnv1a_64 ) \
|
|
@@ -57,7 +56,6 @@ uint32_t hash_one_at_a_time(const char *key, size_t key_length);
|
|
|
57
56
|
void md5_signature(const unsigned char *key, unsigned int length, unsigned char *result);
|
|
58
57
|
uint32_t hash_md5(const char *key, size_t key_length);
|
|
59
58
|
uint32_t hash_crc32(const char *key, size_t key_length);
|
|
60
|
-
uint32_t hash_crc16(const char *key, size_t key_length);
|
|
61
59
|
uint32_t hash_fnv1_64(const char *key, size_t key_length);
|
|
62
60
|
uint32_t hash_fnv1a_64(const char *key, size_t key_length);
|
|
63
61
|
uint32_t hash_fnv1_32(const char *key, size_t key_length);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -36,8 +36,6 @@ modula_update(struct server_pool *pool)
|
|
|
36
36
|
uint32_t continuum_index; /* continuum index */
|
|
37
37
|
uint32_t continuum_addition; /* extra space in the continuum */
|
|
38
38
|
uint32_t server_index; /* server index */
|
|
39
|
-
uint32_t weight_index; /* weight index */
|
|
40
|
-
uint32_t total_weight; /* total live server weight */
|
|
41
39
|
int64_t now; /* current timestamp in usec */
|
|
42
40
|
|
|
43
41
|
now = nc_usec_now();
|
|
@@ -47,7 +45,6 @@ modula_update(struct server_pool *pool)
|
|
|
47
45
|
|
|
48
46
|
nserver = array_n(&pool->server);
|
|
49
47
|
nlive_server = 0;
|
|
50
|
-
total_weight = 0;
|
|
51
48
|
pool->next_rebuild = 0LL;
|
|
52
49
|
|
|
53
50
|
for (server_index = 0; server_index < nserver; server_index++) {
|
|
@@ -64,13 +61,6 @@ modula_update(struct server_pool *pool)
|
|
|
64
61
|
} else {
|
|
65
62
|
nlive_server++;
|
|
66
63
|
}
|
|
67
|
-
|
|
68
|
-
ASSERT(server->weight > 0);
|
|
69
|
-
|
|
70
|
-
/* count weight only for live servers */
|
|
71
|
-
if (!pool->auto_eject_hosts || server->next_retry <= now) {
|
|
72
|
-
total_weight += server->weight;
|
|
73
|
-
}
|
|
74
64
|
}
|
|
75
65
|
|
|
76
66
|
pool->nlive_server = nlive_server;
|
|
@@ -95,9 +85,9 @@ modula_update(struct server_pool *pool)
|
|
|
95
85
|
* Allocate the continuum for the pool, the first time, and every time we
|
|
96
86
|
* add a new server to the pool
|
|
97
87
|
*/
|
|
98
|
-
if (
|
|
88
|
+
if (nlive_server > pool->nserver_continuum) {
|
|
99
89
|
struct continuum *continuum;
|
|
100
|
-
uint32_t nserver_continuum =
|
|
90
|
+
uint32_t nserver_continuum = nlive_server + MODULA_CONTINUUM_ADDITION;
|
|
101
91
|
uint32_t ncontinuum = nserver_continuum * MODULA_POINTS_PER_SERVER;
|
|
102
92
|
|
|
103
93
|
continuum = nc_realloc(pool->continuum, sizeof(*continuum) * ncontinuum);
|
|
@@ -120,14 +110,12 @@ modula_update(struct server_pool *pool)
|
|
|
120
110
|
continue;
|
|
121
111
|
}
|
|
122
112
|
|
|
123
|
-
|
|
124
|
-
pointer_per_server = 1;
|
|
113
|
+
pointer_per_server = 1;
|
|
125
114
|
|
|
126
|
-
|
|
127
|
-
|
|
115
|
+
pool->continuum[continuum_index].index = server_index;
|
|
116
|
+
pool->continuum[continuum_index++].value = 0;
|
|
128
117
|
|
|
129
|
-
|
|
130
|
-
}
|
|
118
|
+
pointer_counter += pointer_per_server;
|
|
131
119
|
}
|
|
132
120
|
pool->ncontinuum = pointer_counter;
|
|
133
121
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/ext/nutcracker/src/nc.c
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1109,6 +1109,14 @@ conf_pre_validate(struct conf *cf)
|
|
|
1109
1109
|
return NC_OK;
|
|
1110
1110
|
}
|
|
1111
1111
|
|
|
1112
|
+
static int
|
|
1113
|
+
conf_server_pname_cmp(const void *t1, const void *t2)
|
|
1114
|
+
{
|
|
1115
|
+
const struct conf_server *s1 = t1, *s2 = t2;
|
|
1116
|
+
|
|
1117
|
+
return string_compare(&s1->pname, &s2->pname);
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1112
1120
|
static int
|
|
1113
1121
|
conf_server_name_cmp(const void *t1, const void *t2)
|
|
1114
1122
|
{
|
|
@@ -1148,10 +1156,27 @@ conf_validate_server(struct conf *cf, struct conf_pool *cp)
|
|
|
1148
1156
|
|
|
1149
1157
|
/*
|
|
1150
1158
|
* Disallow duplicate servers - servers with identical "host:port:weight"
|
|
1151
|
-
* or "name" combination are considered as duplicates
|
|
1152
|
-
* is configured, we only check for duplicate "name" and not for duplicate
|
|
1153
|
-
* "host:port:weight"
|
|
1159
|
+
* or "name" combination are considered as duplicates
|
|
1154
1160
|
*/
|
|
1161
|
+
array_sort(&cp->server, conf_server_pname_cmp);
|
|
1162
|
+
for (valid = true, i = 0; i < nserver - 1; i++) {
|
|
1163
|
+
struct conf_server *cs1, *cs2;
|
|
1164
|
+
|
|
1165
|
+
cs1 = array_get(&cp->server, i);
|
|
1166
|
+
cs2 = array_get(&cp->server, i + 1);
|
|
1167
|
+
|
|
1168
|
+
if (string_compare(&cs1->pname, &cs2->pname) == 0) {
|
|
1169
|
+
log_error("conf: pool '%.*s' has servers with same name '%.*s'",
|
|
1170
|
+
cp->name.len, cp->name.data, cs1->pname.len,
|
|
1171
|
+
cs1->pname.data);
|
|
1172
|
+
valid = false;
|
|
1173
|
+
break;
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
if (!valid) {
|
|
1177
|
+
return NC_ERROR;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1155
1180
|
array_sort(&cp->server, conf_server_name_cmp);
|
|
1156
1181
|
for (valid = true, i = 0; i < nserver - 1; i++) {
|
|
1157
1182
|
struct conf_server *cs1, *cs2;
|
|
@@ -1472,7 +1497,7 @@ conf_add_server(struct conf *cf, struct command *cmd, void *conf)
|
|
|
1472
1497
|
struct conf_server *field;
|
|
1473
1498
|
uint8_t *p, *q, *start;
|
|
1474
1499
|
uint8_t *pname, *addr, *port, *weight, *name;
|
|
1475
|
-
uint32_t k,
|
|
1500
|
+
uint32_t k, pnamelen, addrlen, portlen, weightlen, namelen;
|
|
1476
1501
|
struct string address;
|
|
1477
1502
|
char delim[] = " ::";
|
|
1478
1503
|
|
|
@@ -1489,7 +1514,7 @@ conf_add_server(struct conf *cf, struct command *cmd, void *conf)
|
|
|
1489
1514
|
|
|
1490
1515
|
value = array_top(&cf->arg);
|
|
1491
1516
|
|
|
1492
|
-
/* parse "hostname:port:weight [name]"
|
|
1517
|
+
/* parse "hostname:port:weight [name]" from the end */
|
|
1493
1518
|
p = value->data + value->len - 1;
|
|
1494
1519
|
start = value->data;
|
|
1495
1520
|
addr = NULL;
|
|
@@ -1501,8 +1526,6 @@ conf_add_server(struct conf *cf, struct command *cmd, void *conf)
|
|
|
1501
1526
|
name = NULL;
|
|
1502
1527
|
namelen = 0;
|
|
1503
1528
|
|
|
1504
|
-
delimlen = value->data[0] == '/' ? 2 : 3;
|
|
1505
|
-
|
|
1506
1529
|
for (k = 0; k < sizeof(delim); k++) {
|
|
1507
1530
|
q = nc_strrchr(p, start, delim[k]);
|
|
1508
1531
|
if (q == NULL) {
|
|
@@ -1539,8 +1562,8 @@ conf_add_server(struct conf *cf, struct command *cmd, void *conf)
|
|
|
1539
1562
|
p = q - 1;
|
|
1540
1563
|
}
|
|
1541
1564
|
|
|
1542
|
-
if (k !=
|
|
1543
|
-
return "has an invalid \"hostname:port:weight [name]\"
|
|
1565
|
+
if (k != 3) {
|
|
1566
|
+
return "has an invalid \"hostname:port:weight [name]\" format string";
|
|
1544
1567
|
}
|
|
1545
1568
|
|
|
1546
1569
|
pname = value->data;
|
|
@@ -1559,11 +1582,9 @@ conf_add_server(struct conf *cf, struct command *cmd, void *conf)
|
|
|
1559
1582
|
return "has an invalid weight in \"hostname:port:weight [name]\" format string";
|
|
1560
1583
|
}
|
|
1561
1584
|
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
return "has an invalid port in \"hostname:port:weight [name]\" format string";
|
|
1566
|
-
}
|
|
1585
|
+
field->port = nc_atoi(port, portlen);
|
|
1586
|
+
if (field->port < 0 || !nc_valid_port(field->port)) {
|
|
1587
|
+
return "has an invalid port in \"hostname:port:weight [name]\" format string";
|
|
1567
1588
|
}
|
|
1568
1589
|
|
|
1569
1590
|
if (name == NULL) {
|