Files
rippled/include/xrpl
Pratik Mankawde 1dc285ddd4 fix: Missing async deadlines and util::spawn context errors
HTTPClient: arm the request deadline on the normal path (the wait was
registered only when expires_after threw, so no request had a timeout),
reset the per-site error state so host fallback is attempted, and on
expiry close the transport instead of negotiating a TLS shutdown that
waits on the unresponsive peer. Ignore a deadline handler that was
already queued when the timer was re-armed for the next host, treat a
timer wait error like a timeout instead of aborting the process, and
complete on a header read error rather than parsing an incomplete
buffer.

ConnectAttempt: bound the upgrade-response read with the step timer, as
every other step of the attempt already is.

util::spawn: build the strand from the context or executor directly.
get_associated_executor is a handler query and does not instantiate for
an io_context or an executor under Boost 1.91.

Tests: HTTPClient timeout, read-error and host-fallback cases;
util::spawn on an io_context, an executor and a strand, plus exception
propagation.

Fixes #8235
2026-09-22 18:10:14 +01:00
..