hinsightd MT
This page is about the multithreaded branch of the hinsightd webserver project. At the moment this branch only has basic file serving features. This is a work in progress.
The multithreaded model is very simplistic, the main thread spawns a bunch of subthreads and each thread (including main) just block on accept, while not a very elegant algorithm it does make it easy to reduce the number of locks and with that the number of bugs.
Features
- it's very small at slightly less than 200KB
- a decently fast webserver
- SSL
- HTTP/1.1, range requests, compressed requests via deflate filter, 304 requests
- reverse proxy
- you don't have to manually tweak the max_connections parameter to ensure you won't get rejected connections
- it has a built in command line parser so you can issue configuration directives directly in the terminal while the server is running
Todo
- even fewer dependencies, make lua optional, make zlib optional
Links