I just got memcached passing all of my tests with the binary wire protocol (tcp). Sorry it took me so long to get going on it.

I've implemented this as a patch stack (using mercurial queues) over trunk r608 with Evan Miller's 64-bit counter patch applied (since everyone is excited by big numbers). I've got no idea where (if anywhere) active development is going on. I can pick it up and move it needed.

I don't know what clients are ready. I haven't done a release of my java client with binary protocol support yet, but I can roll out a pre-release if someone wants to try it (all of my interop tests pass between my java client and memcached in binary mode, so I just need to clean it up a bit). My test python client is functional for at least interactive use as well.


        Known issues:

I didn't implement a timeout on delete. I suppose I should, but do people actually use that?

I didn't implement a timeout on flush. I'd rather avoid that one if possible because the semantics are really confusing.

I basically ignored managed buckets because I have no idea how they work.

My 64-bit ntohl kind of thing might not work on big endian machines (I haven't tried it yet). Moreover, I would hope something like that would already exist somewhere, so I didn't bother making it fast.

I've only implemented version, flush, noop, set, add, replace, get, getq, delete, and incr. Besides stats (for which we have no clearly defined packet format), there seem to be other commands in there that don't make much sense to me.

        There may be more, but I don't know about them yet.

--
Dustin Sallings


Reply via email to