C# – Waiting for cancellation with timeout

Sometimes you need to wait for a cancellation token, or for a fixed amount of time. For example, you may be implementing some sort of automatic retry with exponential backoffs, but also with the ability for a user to try to force an immediate retry. You can use a cancellationToken, but wait for it with [ ]