public override void CancelAsync()
        {
            //Console.WriteLine ("CancelAsync ():  {0} - {1}", remoteUri.ToString (), Status);

            bool cancelLive = false;

            lock (SyncRoot) {
                if (executing)
                {
                    cancelLive = true;
                }

                if (SetCanceled())
                {
                    if (cancelLive)
                    {
                        wc.CancelAsync();
                    }
                    else
                    {
                        if (SetCompleted())
                        {
                            CloseLocalStream(true);
                            SetStatus(TaskStatus.Cancelled);
                            OnTaskCompleted(null, true);
                        }
                    }
                }
            }
        }
Exemple #2
0
        public override void CancelAsync()
        {
            lock (SyncRoot) {
                if (!completed)
                {
                    cancelled = true;

                    if (wc != null)
                    {
                        wc.CancelAsync();
                    }

                    EmitCompletionEvents(FeedDownloadError.Canceled);
                }
            }
        }