When sending and receiving data concurrently from a TLS stream, neither operation makes progress:
co_await capy::when_all(reader(stream), writer(stream, "response payload"));
Doing both consecutively works:
std::ignore = co_await writer(stream, "response payload");
std::ignore = co_await reader(stream);
This is part of a minimal standalone repro made of a client and server that exchange a few bytes:
Corosio 31a078b
When sending and receiving data concurrently from a TLS stream, neither operation makes progress:
Doing both consecutively works:
This is part of a minimal standalone repro made of a client and server that exchange a few bytes:
Corosio 31a078b