Most BDD operations can be potentially long lasting. This can cause issues for larger deployments where we run many BDD operations concurrently (or in parallel) and potentially need to cancel some of them mid-flight. We might want to integrate with standard rust async/await mechanisms to enable safe cancellation of BDD operations.
The other advantage is that we can evaluate BDD operations lazily or in parallel through async, opening up to simple optimizations that would otherwise need to be implemented by hand. For now, this issue is meant as a place to store the ideas and resources regarding this change.
Most BDD operations can be potentially long lasting. This can cause issues for larger deployments where we run many BDD operations concurrently (or in parallel) and potentially need to cancel some of them mid-flight. We might want to integrate with standard rust
async/await
mechanisms to enable safe cancellation of BDD operations.The other advantage is that we can evaluate BDD operations lazily or in parallel through
async
, opening up to simple optimizations that would otherwise need to be implemented by hand. For now, this issue is meant as a place to store the ideas and resources regarding this change.