On Mon, Nov 12, 2007 at 22:23:15 -0800, Dustin Sallings wrote: > >> In the text protocol, a get with several keys only returns hits and > >>an end marker. The idea is that if you're issuing that request, > >>you're probably going to return some kind of dictionary structure to > >>something. > > > >This "probably" comes from no where, and is a bad assumption for the > >generic design. Client might not need to have the dictionary, and > >currently it is forced to have it. > > Does any client out there do a multi-get for a series of keys and > not return values mapped to those keys?
You are failing to see my point. Yes, the result is always mapped, but such mapping may be a simple array or list of (key, value) pairs. Thus if we request keys in the array/list order and get the results in the array/list order, we only have to traverse this array/list and assign results in order. This would make a simple client, and the only cost is NAKs in the wire (and they may be effectively compressed even if you want to optimize for "not found" case). You don't need this in your Java framework, because you have to have dictionary anyway. Still, other clients could benefit from that. -- Tomash Brechko
