Пример #1
0
 public bool TryRemoveHop(ITransmissionHop hop)
 {
     try
     {
         WeakReference <ITransmissionHop> v;
         return(_dictHop.TryRemove(hop.HopName, out v));
     }
     catch
     {
         throw;
     }
 }
Пример #2
0
        public void AddHop(ITransmissionHop hop)
        {
            try
            {
                _dictHop.AddOrUpdate(hop.HopName, new WeakReference <ITransmissionHop>(hop),
                                     (k, v) =>
                {
                    return(v);
                });

                hop.EnterHop();
            }
            catch
            {
                throw;
            }
        }
Пример #3
0
        public void RemoveHop(ITransmissionHop hop)
        {
            try
            {
                WeakReference <ITransmissionHop> v;
                //while (!_dictHop.TryRemove(hop.HopName, out v))
                //{
                //    Thread.Sleep(50);
                //}

                if (!_dictHop.TryRemove(hop.HopName, out v))
                {
                    return;
                }

                hop.LeaveHop();
            }
            catch
            {
                throw;
            }
        }