Skip to content
C++11 library for network services on modern x86_64 Linux
C++ C Python CMake Shell Ragel in Ruby Host Other
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
benchmarks
boost.context
cmake
examples
glog
include/ten
jansson
msgpack
src
stlencoders
stringencoders
tests
.gitignore
CMakeLists.txt
Doxyfile
LICENSE-MIT
LICENSE.boost.txt
README.md
ten.supp

README.md

libten

C++11 library for network services on modern x86-64 Linux. Heavily inspired by python-gevent, state-threads, plan9, and go-lang.

Features

  • coroutines (built on boost.context)
  • typed channels for communicating between threads and coroutines
  • http client and server (built on http-parser)
  • fast uri parser (ragel generated)
  • JSON parser (wrapper around jansson)
  • logging (glog)
  • rpc (built on msgpack)
  • epoll event loop

Dependencies


  • cmake >= 2.8
  • g++ >= 4.7.0
  • libssl-dev >= 0.9.8
  • libboost-dev >= 1.40
  • libboost-date-time-dev >= 1.40
  • libboost-program-options-dev >= 1.40
  • libboost-test-dev >= 1.40
  • ragel >= 6.5

Bundled 3rd-party components


TODO

  • Optimizations (almost no profiling has been done, lots of room for improvement)
  • Better support for std::chrono all around (qlock/rendez)
  • qlock/rendez to follow C++11 mutex/condition_variable api
  • More tests and documentation and examples
Something went wrong with that request. Please try again.