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
Implement co-routine based streams for beast-based HTTP server #513
Conversation
This reverts commit bd907bb.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank your very much.
Overall this already looks very great,
my main comments are about comments/claraifications.
This is mostly "just" lacking some unit tests.
while (generator.hasNext()) { | ||
out << generator.next(); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this still needed by some legacy APIs, which are not Server.h
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only remaining usage can be found here:
qlever/src/SparqlEngineMain.cpp
Lines 217 to 218 in 8a9465c
qet.writeResultToStream(cout, pq._selectClause._selectedVariables, limit, | |
offset); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now basically only unit tests are missing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Last round of reviews.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much,
This is a very useful and cleanly written implementation!
This PR basically implements a custom body type, that uses coroutines to send data to the client instead of accumulating everything inside a giant string.