ejurgensen
e94838925e
[httpd] Change prototype for the close connection callback
...
Don't include hreq since it isn't fully valid, so caller shouldn't be invited
to dereference it.
2023-03-07 21:01:45 +01:00
ejurgensen
18a80f15dd
[httpd] Multithread solution using worker threads instead of httpd threads
...
Using worker threads instead of httpd threads means that we, not libevent,
decide which requests get handled by which threads. This means that we can
make sure blocking requests (e.g. volume changes) don't get in the way of
realtime(ish) stuff like mp3 streaming.
Includes refactor of httpd_stream_file() since it was a bit of a monster.
2023-03-07 21:01:45 +01:00
ejurgensen
e77cb3f94e
[streaming] ICY handling using output metadata events/callbacks
2023-03-07 21:01:10 +01:00
ejurgensen
4d0c297901
[evhtr] Consolidate pool threading in evthr.c
...
Also reinstate check for server already running
2023-03-07 21:01:10 +01:00
ejurgensen
bd6f38282c
[httpd] Main commit that adds multithreading to httpd
...
Also refactor streaming implementation to make it more like an output and to
let the design support multithreading.
2023-03-07 21:01:10 +01:00
ejurgensen
50a319df2b
[httpd] Try doing request handling in worker thread
2023-03-07 21:01:10 +01:00
ejurgensen
74f1b93b42
[httpd] Make http modules agnostic to evhttp
2023-03-07 21:01:10 +01:00