A new hub: This closely mirrors the poll hub with some of the internal logic changed to reflect zmq's flags.
A green module for zmq: This subclasses Context and Socket to ensure calls are non blocking.
A (very sparse) beginings of a test module.
An example: A melding of the pyzmq chat example and the eventlet telnet chat example.
TODO
zmq_poll chokes if the sockets passed to it come from different contexts. As context is the entry point to everything else then it would make sense to include a check in here that each thread has only one context instance. By context being the entry point I mean:
ctx = zmq.Context()
socket = ctx.socket(zmq.<type-of-socket>)
This call to socket is repeated for each socket you want and ctx must be the same one for each thread.
Tests. I'd like to get to the point f having all zmq socket pairs tested - and perhaps a nice benchmark suite too.