Implement the ability to block on multiple futures at once
authorMatt Corallo <git@bluematt.me>
Fri, 31 Mar 2023 05:13:35 +0000 (05:13 +0000)
committerMatt Corallo <git@bluematt.me>
Mon, 3 Apr 2023 16:49:54 +0000 (16:49 +0000)
commitb455fb5e775d5062035242d38da9c57527ca5a85
tree7b1bba26f231c2c9839043502340512ef3be87da
parent328407351c6aeb84e9407281ec5d35b1a4690650
Implement the ability to block on multiple futures at once

In the next commits we'll be adding a second notify pipeline - from
the `ChainMonitor` back to the background processor. This will
cause the `background-processor` to need to await multiple wakers
at once, which we cannot do in the current scheme without taking on
a full async runtime.

Building a multi-future waiter isn't so bad, and notably will allow
us to remove the existing sleep pipeline entirely, reducing the
complexity of our wakers implementation by only having one notify
path to consider.
lightning/src/util/wakers.rs