In
|
Ok(recv) => Box::pin(async move { Ok(recv.await) }), |
we
await receiving on the channel until the
ChannelSend::complete is called, which however might never happen (e.g., if the onion messages get dropped, or, if the DNS resolver fails to validate the DNSSEC proof, in which case it
simply doesn't reply).
We should probably find a way to complete the resolution future (with an error value) when cleaning up pending_resolutions.
(cc @TheBlueMatt)