This tidies up small corner cases and bugs with
the bind_handler and bind_front_handler wrappers:
* Legacy allocation hooks are deleted
* Fixes for bind_front_handler specializations
* Decay bound arguments first, to reduce template instantiations
* Proper moving and forwarding of bound arguments and call parameters
* Tidy up and comment asserts
* `pausation` is renamed to saved_handler
* A work guard on the handler's associated executor
is maintained for the lifetime of the store handler.
* Revise documentation
* Specify exception safety
* Mark more functions noexcept
API Changes:
* flat_static_buffer::reset is deprecated
Actions Required:
* Replace calls to flat_static_buffer::reset with
flat_static_buffer::clear
fix#1356
* File functions return errc::bad_file_descriptor
instead of errc::invalid_argument.
Actions Required:
* Callers checking for errc::invalid_argument from calls to
file APIs should check for errc::bad_file_descriptor instead.
* Revise stream algorithm javadocs
* HTTP stream algorithms now use beast::read and
beast::async_read with a custom completion condition.
API Changes:
* HTTP stream algorithms return the number of bytes transferred
from the stream. Previously, they returned the number of bytes
consumed by the parser.
Actions Required:
* Callers depending on the return value of http::read or
http::async_read overloads should adjust the usage of
the returned value as needed.
Replace aligned_union in handler_ptr with the built-in one to reduce
the number of template instantiations and remove the reinterpret_casts
that were required.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
fix#1305
Applies to:
flat_buffer
flat_static_buffer
multi_buffer
static_buffer
Changes:
* Revised all javadocs
* Move construction does not invalidate in some cases
* non-const data() returns a mutable buffer sequence
* Add cdata() to also return constant readable bytes
* Eligible member functions are declared noexcept
fix#1279, close#1319
This enables users to improve compilation performance by explicitly
instantiating the stream template in another TU.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
close#1322
async initiating functions must return init.result.get(). Returning the
result of post caused a compilation failure for custom completion tokens.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>