On Fri, 30 May 2014 19:38:35 GMT, Sönke Ludwig wrote:

There is also a mirror that provides a DUB package.

Last time I checked, that package unfortunately was not up to date with the latest fixes in the official repository. If/when the Dub registry gets support for adding packages with the root (dub.json) in a subdirectory, then I'd like to take over the package and make it point to the upstream (Apache) Git repository.

I'm unfortunately not familiar with the Thrift API, but since it's (also) based on libevent, I suspect that it should be relatively easy to use it together with vibe.d seamlessly.

libevent is actually not integrated into the Thrift transport model all that well. You can only use a special server implementation with it, and since vibe.d was not really around back when I wrote the thing, I also had to write my own async I/O implementation (based on libevent/fibers) for the client side.

However, it is possible to adapt from a vibe.d Stream to a Thrift Transport quite easily both on the client and the server side. I've successfully used the following implementation in a small prototype that unfortunately hasn't made it to production yet:

https://gist.github.com/klickverbot/539deb163c6b7cf73843

There is some impedance mismatch between the two interfaces, but it's not too bad. There is also a listenThrift method that allows you to quickly create a Thrift server, very similar to listenTCP or listenHTTP.

Hope this helps,
David