> > So, on to my grandiose plans for the future of the Python Riak client. > We're currently using a combination of this client and Riakasaurus, > which is a Twisted-based client library that we maintain. Riakasaurus > is based (indirectly) on a previous version of the Python client, but > is different enough that it's impossible to pull in upstream changes > directly. The main reason for the divergence is that the Python client > assumes blocking network I/O operations that will return when they > have the required data, while Twisted uses an asynchronous > callback-based I/O mechanism. > > So, ideally this would just be an alternate transport. However, I suspect it might require adding optional kwargs to every call, where you might be able to pass a callback (sorry, I'm not that familiar with Twisted, but it's that way in Ruby's Eventmachine). If this is the case, I'd be concerned about adding the additional complexity.
> I think it would be possible to restructure the Python client somewhat > to decouple the higher-level operations from the lower-level network > operations in a way that would let us switch between Twisted-style > async I/O and more traditional blocking I/O. This would probably be a > fairly invasive change in some ways, but shouldn't have any noticeable > impact on the external API. I'm hoping it'll make the > ConnectionManager replacement cleaner and more flexible, but I don't > have a good enough mental model of the system to be sure. > > As the person proposing this, I'm happy to put some effort into > hacking up a prototype to see if this is actually a workable idea and > to do the bulk of the implementation work if it is -- it'll save on a > bunch of Riakasaurus maintenance in the future if we can pull it off. > I'm proposing some pretty drastic surgery to the existing codebase, so > I'd like to know if other people (especially Sean) think it's a good > idea before I sink too much time into it. > > Please do send me or the mailing-list an outline of this, I'm interested in hearing how it would work. -- Sean Cribbs <s...@basho.com> Software Engineer Basho Technologies, Inc. http://basho.com/
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com