qhttpengine
qhttpengine copied to clipboard
Missing multi-threading support.
The design of the Server and the Handler is such that this depends on Qt signals.
The direct effect of that is that all calls will always be handled by only one thread, because a QObject (like the Handlers are) have one specific thread they work with.
I ended up trying in a local clone how to change this so I can have a list of worker-threads that handle the individual jobs. The result works fine and if there is interest in that I'd be happy to share the code.
This I did during ongoing work into finding a good base library to have a high performance server that handles web-requests, I didn't bother with the Handlers because that needs a bit more rework to make fit in a multi-threading environment. As this project looks a little bit abandoned I just thought I'd reach out, if there is no interest thats also fine.
Hi zander,
I had the same problem and ended creating a new library THttpEngine which uses the qhttpengine but uses a special handler class to allow for threading. It creates a new implementation for tserver.cpp (of qhttpengine). The idea is to fold this new tserver class into qhttpengine. But I have not yet done this ...
W
My copy now lives here; https://gitlab.com/FloweeTheHub/thehub/tree/master/libs/httpengine
I decided to not backport as the project looks dead. I do welcome people wanting to continue building the engine in the above project.
I still really want HTTP1.1 (especially connection-keep-alive) to be added at some point in the future.