Wednesday 7 December 2011

epoll_threadpool

I set out a few months back to build a distributed filesystem with features similar to dropbox but with 100% encrypted storage that is shared amongst friends in a "dark-net" of sorts. In the process, I found myself wanting a fast, light-weight RPC system and, in turn, a fast, light-weight event queuing system. After fighting with libevent and msgpack-rpc, I eventually decided to write my own and epoll_threadpool was born.

The library is still in its infancy but I don't expect it to grow much (if at all) in size. Its Linux only (epoll-based), dependencies are light, speed should be reasonable and all tests are passing so I thought I'd throw it out to the world to see if anyone finds it useful.

Features:

  • epoll-based
  • runs a thread pool, executing events on the first available thread.
  • easy-to-use IOBuffer class for streaming data.
  • TCP client and server support.
Available on github as epoll_threadpool.