sybila / biodivine-lib-bdd

A small library for BDD manipulation in Rust. Part of the BioDivine toolset.
MIT License
20 stars 4 forks source link

Allow BDD operations to execute as interruptible async functions #33

Open daemontus opened 2 years ago

daemontus commented 2 years ago

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.