Desync is a slightly 'non-traditional' concurrency library in that it eschews the traditional notions of threads and locking in favour of ordering operations. This approach gives it a very simple yet flexible API, with just two main operations to learn:
desync(). It's a model that fits particularly well with Rust, as it can greatly simplify using borrowed values with concurrent operations.
0.7.0 was mainly about improving integration with code that uses Futures (async/await). I've split
future() into two functions:
future_desync(), and added a
detach() function to the result of the desync variant to make it easy to run futures 'in the background'.
I've improved the scheduler quite a lot, especially when piping data which is now very much faster. I've been using it to schedule tessellation operations in FlowBetween's new renderer, which has shaken out a lot of bugs.