Fixes http::async_connection::default_error that always set error flag #567
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #271
http::async_conection::write(Range) pass default_error function as callback for asynchronous operation. However, this function doesn't check error_code to 0 (aka success), so async_connection::has_error() is always set after async_connection::write(Range) completition. This causes next async_connection::write(...) calls to throw even if no errors.
I am also suggest to drop boost::optional wrapper of async_connection::error_encountered variable, because boost::system::system_error already have an "empty state" - errc::success.