예제 #1
0
 private void updateSpeed(object sender, DoWorkEventArgs e)
 {
     Thread.Sleep(TimeSpan.FromSeconds(5));
     this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background,
                                 (ThreadStart) delegate()
     {
         if (SpeedStats.isConnected())
         {
             rConnect.Fill = Brushes.LightGreen;
             Speedy.Text   = SpeedStats.CalcSpeed();
         }
         else
         {
             rConnect.Fill = Brushes.Red;
             Speedy.Text   = "0";
         }
     });
 }
예제 #2
0
        public static SpeedStats GetSpeed()
        {
            reda.EnterWriteLock();
            SpeedStats spd;

            try
            {
                spd = new SpeedStats()
                {
                    netSpeed = CalcSpeed()
                };
            }
            finally
            {
                reda.ExitWriteLock();
            }

            return(spd);
        }