/// <summary> /// Callback for timeout timer. Aborts the AsyncStreamCopier operation if a timeout occurs. /// </summary> /// <param name="copier">AsyncStreamCopier operation.</param> /// <param name="timedOut">True if the timer has timed out, false otherwise.</param> private static void MaximumCopyTimeCallback(object copier, bool timedOut) { if (timedOut) { AsyncStreamCopier <T> asyncCopier = (AsyncStreamCopier <T>)copier; AsyncStreamCopier <T> .ForceAbort(asyncCopier, true); } }
/// <summary> /// Aborts an ongoing copy operation. /// </summary> public void Abort() { this.cancelRequested = true; AsyncStreamCopier <T> .ForceAbort(this, false); }