I have built a libcouchbase wrapper for python which I am using in the Tornado framework. Tornado includes an ioloop for handling asynchronous events. For now I am calling lcb_wait() to complete libcouchbase operations, but I would like to start using it fully asynchronously, driven by the Tornado ioloop.
The blog post about driving libcouchbase with your own libevent event loop makes reference to creating a plugin:
libcouchbase performs it’s IO through an “IO handle”. This is a plugin system so you should be able to use whatever mechanism you want. Adding support for a new system is nothing more than implementing a handfull of function calls and place them in a shared object.
I have not found any documentation for the plugin system. I’ve looked at the source for the libevent & libev plugins and I could perhaps figure it out from them, but I’d feel a lot more comfortable doing so with a little guidance. Is there anything written that I can work from?