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
- SSL
- HTTP/1.1, range requests, compressed requests via deflate filter, 304 requests
- the server doesn't need a max_connections number because it tries to handle as many file descriptors as the operating system allow, so if your OS allows 1024 max fd's the server can handle more than 1000 connections without an out-of-fd error
- the server has a built in command line parser so you can issue configuration directives while the server is running by just writing them in the terminal
- a decently fast webserver
Links