How Rust is handling cancellation for async operation

https://gist.github.com/Matthias247/ffc0f189742abf6aa41a226fe07398a8