This arranges for a $(D_PSYMBOL CancelledException) to be thrown into
the wrapped coroutine on the next cycle through the event loop. The
coroutine then has a chance to clean up or even deny the request using
try/catch/finally.
Unlike $(D_PSYMBOL Future.cancel()), this does not guarantee that the
task will be cancelled: the exception might be caught and acted upon,
delaying cancellation of the task or preventing cancellation completely.
The task may also return a value or raise a different exception.
Immediately after this method is called, $(D_PSYMBOL cancelled()) will
not return $(D_KEYWORD true) (unless the task was already cancelled). A
task will be marked as cancelled when the wrapped coroutine terminates
with a $(D_PSYMBOL CancelledException) (even if cancel() was not
called).
Request that this task cancel itself.
This arranges for a $(D_PSYMBOL CancelledException) to be thrown into the wrapped coroutine on the next cycle through the event loop. The coroutine then has a chance to clean up or even deny the request using try/catch/finally.
Unlike $(D_PSYMBOL Future.cancel()), this does not guarantee that the task will be cancelled: the exception might be caught and acted upon, delaying cancellation of the task or preventing cancellation completely. The task may also return a value or raise a different exception.
Immediately after this method is called, $(D_PSYMBOL cancelled()) will not return $(D_KEYWORD true) (unless the task was already cancelled). A task will be marked as cancelled when the wrapped coroutine terminates with a $(D_PSYMBOL CancelledException) (even if cancel() was not called).