-
Notifications
You must be signed in to change notification settings - Fork 40
async_exec now uses a sans-io strategy #250
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
base: develop
Are you sure you want to change the base?
Conversation
Today is national's PR bombardment day :) Quick walkthrough of this PR:
|
setup_cancellation, // Set up the cancellation types supported by the composed operation | ||
immediate, // Invoke asio::async_immediate to avoid re-entrancy problems | ||
done, // Call the final handler | ||
write, // Notify the writer task |
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.
I think the naming here could be more descriptive notify_writer
for example.
@@ -119,6 +119,7 @@ std::pair<tribool, std::size_t> multiplexer::consume_next(system::error_code& ec | |||
|
|||
if (ec) { | |||
reqs_.front()->notify_error(ec); | |||
reqs_.pop_front(); |
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.
Interesting, this is probably fixing a bug.
Very good job, thanks! |
@anarthal The implementation in |
async_exec now supports partial and total cancellation when the request is pending
Added docs on async_exec's cancellation support
Added detail::exec_fsm and macros for coroutine emulation
Requests are now removed from the multiplexer when an error is encountered