示例#1
0
        void TimerHandler(object state)
        {
            lock (Timer)
            {
                if (Disposed)
                {
                    return;
                }
                var elapsedTicks = DateTime.Now.Ticks - _lastReportTicks;
                var elapsed      = TimeSpan.FromTicks(elapsedTicks);

                UpdateText(GetProgressBarText(CurrentProgress));
                ResetTimer();

                if (elapsed < TimeSpanFileStalled)
                {
                    return;
                }

                FileTransferStalled?.Invoke(this,
                                            new ProgressEventArgs
                {
                    LastDataReceived = new DateTime(_lastReportTicks),
                    TimeOutTriggered = DateTime.Now
                });
            }
        }
示例#2
0
        private void TimerHandler(object state)
        {
            lock (Timer)
            {
                if (IsDisposed)
                {
                    return;
                }

                var elapsedTicks = DateTime.Now.Ticks - _lastReportTicks;
                var elapsed      = TimeSpan.FromTicks(elapsedTicks);

                UpdateText(GetProgressBarText());
                RestartTimer();

                if (elapsed < TimeSpanFileStalled)
                {
                    return;
                }

                FileTransferStalled?.Invoke(this, new ProgressEventArgs(new DateTime(_lastReportTicks), DateTime.Now));
            }
        }