Monty Taylor [Wed, 13 May 2009 19:06:45 +0000 (12:06 -0700)]
Fixed up configure.ac to use newer/recommended automake init. Removed a set
of unused version-setting variables. Set the variable for gnu ld lib versioning.
Monty Taylor [Wed, 13 May 2009 09:53:59 +0000 (11:53 +0200)]
Turned on more warnings, and fixed the errors. Moved common.h, which includes
the config.h file to being included first in impl files, so that includes of
things like stdlib.h can take advantage of autoconf produce defines.
Monty Taylor [Wed, 13 May 2009 07:43:30 +0000 (09:43 +0200)]
Enabled warnings=errors for GCC and then made things compile. Had to turn off
strict aliasing so we could type-pun the function pointers. I think there's a
better solution there, but we're stricter than we were.
Trond Norbye [Sun, 3 May 2009 19:27:56 +0000 (12:27 -0700)]
Added support for MEMCACHED_BEHAVIOR_IO_KEY_PREFETCH
From the man page:
The binary protocol works a bit different than the textual protocol in the
way that a multiget is implemented as a pipe of single get-operations that
is sent to the server in a chunk. If you use large multigets you may improve
the latency by setting this value so that you send out the first chunk of
requests when you hit the specified limit, allowing the server to start
processing the request and send the data back while the rest of the
requests is created.
Eric Lambert [Fri, 1 May 2009 02:31:48 +0000 (19:31 -0700)]
Disable hsieh algorithm by default
Per a conversation with Brian earlier this week, there are some licensing
issues with the hsieh hashing algorithm that make it 'desirable' for support
of this algorithm to be a compile time option. This patch turns off support
for hsieh by default but allows it to be used when '--enable-hsieh_hash' is
passed into configure.
Trond Norbye [Thu, 26 Mar 2009 07:59:32 +0000 (08:59 +0100)]
Refactor: Rename value_fetch to textual_value_fetch
The function value_fetch used to be located in memcached_fetch.c and
implemented the parsing of the VALUE response used in the textual protocol.
This function is not part of the public API, and is only called from
memcached_response.c so it should live there (with static linkage)
Trond Norbye [Sun, 1 Mar 2009 17:35:47 +0000 (18:35 +0100)]
Fix connect with timeouts
Connection timeouts must be implemented by using nonblocking mode and a timer.
The logic was more or less implemented (except for that it didn't enable
non-blocking mode on the socket), and that you need to call connect again when
poll returns that the socket is writable (to get the real error from the
socket).
Trond Norbye [Tue, 27 Jan 2009 11:34:32 +0000 (12:34 +0100)]
Implemented support for noreply in the binary protocol
Please note that the quiet commands in the binary protocol was added
recently, so you need a recent build of the memcached 1.3.x server.
(at least http://github.com/dustin/memcached/commit/0e8a58a8afbb8f15e42b001f2442858cfa3dcbb6 )
Trond Norbye [Fri, 23 Jan 2009 08:52:17 +0000 (09:52 +0100)]
Fix connect bug in memcached_flush_buffers and syntax bug in noreply
When I fixed the bug in memcached_flush_buffers I also improved the test
case for noreply (checking that the items got stored). This revealed
that I had a format bug in the noreply code for the textual protocol causing
protocol error instead of setting the items...
Toru Maesaka [Mon, 19 Jan 2009 04:09:54 +0000 (13:09 +0900)]
Separated the server listing (print) code in memstat to it's own internal function. This is to avoid making main() messy by adding code for the node/pool analyzer work.
Change binary protocol behavior to disallow the use of key verification. (We disable key verification in case setting binary-protocol behavior, and disallow setting key verification behavior in case binary protocol is already in use. Motivation for this is to allow the use of arbitrary key content i.e. non-ascii