Example #1
0
        private void UpdateValidateProgressBarProxyManager(object sender, ProgressChangedEventArgs args)
        {
            this.progressBarProxyManager.Value = args.ProgressPercentage;

            ProxyInfo pi = args.UserState as ProxyInfo;

            lock (proxiesTable)
            {
                if (pi != null && pi.RTT < 0)
                {
                    DataRow dr;
                    if (proxiesRows.TryGetValue(pi.ProxyAddress, out dr))
                    {
                        proxiesTable.Rows.Remove(dr);
                        proxiesRows.Remove(pi.ProxyAddress);
                    }
                }
                else if (pi != null)
                {
                    DataRow dr;
                    if (proxiesRows.TryGetValue(pi.ProxyAddress, out dr))
                    {
                        if (dr != null)
                        {
                            dr["Latency"] = new LatencyColumnValue(pi.RTT);
                        }
                    }
                }
            }
            if (dgProxyList.Rows.Count > 0)
            {
                dgProxyList.FirstDisplayedScrollingRowIndex = 0;
            }
        }
Example #2
0
        // Public Methods (2) 

        public int CompareTo(object other)
        {
            LatencyColumnValue o = other as LatencyColumnValue;

            // 1 < 2 < 3 < -1 < 0
            if ((rtt > 0 && o.rtt <= 0) || (rtt <= 0 && o.rtt > 0))
            {
                return(o.rtt - rtt);
            }
            else
            {
                return(rtt - o.rtt);
            }
        }
Example #3
0
 private void DoPendingProxyListChanged(object sender, PendingProxyListChangedEventHandlerArgs args)
 {
     lock (proxiesTable)
     {
         proxiesRows.Clear();
         proxiesTable.Rows.Clear();
         List <ProxyInfo> proxies = new List <ProxyInfo>(ins.ProxyManager.PendingProxies);
         foreach (ProxyInfo pi in proxies)
         {
             if (!proxiesRows.ContainsKey(pi.ProxyAddress))
             {
                 DataRow dr = proxiesTable.NewRow();
                 dr["Address"]  = pi.ProxyAddress;
                 dr["Latency"]  = new LatencyColumnValue(pi.RTT);
                 dr["Location"] = pi.Location;
                 proxiesTable.Rows.Add(dr);
                 proxiesRows[pi.ProxyAddress] = dr;
             }
         }
     }
 }