I'm wondering what the
Coroutine.Cancel method is doing under the hood. The Remarks section states
that all operations which haven't yet completed will be cancelled. The reason
I'm asking is because we've written our own Operations that implement the INotifyCompleted
interface. These operations allow us to call our custom web-service methods
inside a Coroutine, but since INotifyCompleted doesn't define Cancel(), I'm
wondering how Coroutine.Cancel() would know how to cancel it.
Really I guess the
bottom-line question is: What do we have to do to make sure our custom
Operations are properly cancelled when used inside a Coroutine and Coroutine.Cancel is called?
// Summary:
//
Cancel a currently running coroutine.
//
// Parameters:
//
coroutineOperation:
//
// Remarks:
//
If the iterator is still running, cancels all operations which haven't yet
//
completed.
public static void
Cancel(CoroutineOperation coroutineOperation);