After spending a fair amount of time investigating previous work on what was done to support Pika from Tornado I decided I wanted something more native that supported all of the Pika functionality, was truly asynchronous and worked off of Tornado's IOLoop. The result is a new fork of pika at <a href="http://github.com/gmr/pika">http://github.com/gmr/pika</a>. <div>
<br></div><div>I am planning on to work with Tony G to try and get my changes cleaned up in a way that he'd like so that it can make it into the main pika branch but until then, I'll see about keeping my branch up to date with changes and working with the tornado adapter.<div>
<br></div><div>To the user of pika my change adds pika.tornado_adapter.TornadoConnection which uses IOLoop cleanly without any blocking. Under the covers I move the _rpc function to work with callbacks and remove the drain_events dependency. I've not tested extensively but the original examples work unchanged. It could use some eyes on it to catch anything I may have missed.</div>
<div><br></div><div>I hope it's of value to some of you who were after the same goal.</div><div><br></div><div>Gavin</div></div>