If the stream is receiving control packets like ping, don't count it as
idle. This means you can enable `timeout_opt.keep_alive_ping` on only
one side to get heartbeat.
Make tests that verify current behaviour.
Update documentation to match changes in PR #2718.
Addresses issue #2716
Using `asio::deferred` as a completion token defers the initiation of
operations and creates a lazy operation which might even be discarded.
We need to move mutating operations to the initiator function objects or
the constructor of operation objects, which are guaranteed to run when
the deferred operation is launched.
buffers_generator uses default_completion.
websocket::stream has a rebinding constructor.
ssl_stream has a rebind_executor member.
basic_stream has rebinding constructor.
- websocket supports cancellation.
- Iterating test for ws cancellation.
- Only terminal cancellation is forwarded by default.
- basic_stream supports cancellation.
- supported cancellation is documented.
- http cancellation additions.
- Added cancellation_slot tests to http, utils and saved_handler.
- Added post to write.cpp, to avoid SIGSEV in test.
- Refresher describes cancellation in more detail.
API Changes:
* The following deprecated functions have been removed:
- websocket::async_accept_ex
- websocket::async_handshake_ex
- websocket::accept_ex
- websocket::handshake_ex
Programs still using these names should be refactored to use the `decorator` feature and
the remaining handshake and accept functions.
refs #1934
C++14 or later is required to support completion tokens that use
per-operation return type deduction. For C++11, a completion
token's async_result specialisation must still provide the nested
typedef `return_type`.
`asio::coroutine` is an extension, which is not part of
the Networking TS, so the `net` alias is not appropriate in this case.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
This avoids an instantiation and copy of the data when adding the Server
header field.
Close#1613
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>