esnme/ultramemcache — pull request #21 by rbranson (2012-12-08 03:17:47+00:00)
Title: Improved error handling & support for pipelining

- Now throws umemcache.MemcachedError instead of a generic RuntimeError. It's a child class of RuntimeError, so this will be backwards compatible with existing try/except's that depend on catching RuntimeError.
- Properly handles SERVER_ERROR, CLIENT_ERROR, and ERROR responses.
- Properly handles and surfaces unexpected data errors when reading VALUEs from the socket.
- Add support for "pipeline" operations, which allow batching write operations into a single socket send for lower latency.

We've had this in production for several days now without a hitch.