The goal is to create a static HTTP library, with a couple of constraints.
-
Minimize memory allocations.
-
Minimize memory copies.
-
Non-blocking IO whenever possible.
-
Run 1 thread per CPU core.
-
Minimal connection overhead.
Requires GCC 4.4+, tested with 4.9.2
$ make # to build
$ make clean # to remove artifacts & executable
$ ./tils [port number] # default port is 80