Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing multi-threading support. #30

Open
zander opened this issue Jun 6, 2019 · 2 comments
Open

Missing multi-threading support. #30

zander opened this issue Jun 6, 2019 · 2 comments

Comments

@zander
Copy link

zander commented Jun 6, 2019

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.

@u19809
Copy link

u19809 commented Aug 19, 2019

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

@zander
Copy link
Author

zander commented Aug 19, 2019

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants