public bool Equals(PeerInfo p)
        {
            //if (p.PeerDiscoveryTime == PeerDiscoveryTime)
            if (p.PeerConnectionProperties.Equals(PeerConnectionProperties))
            {
                return(true);
            }

            return(false);
        }
        public void AddPeer(PeerInfo info)
        {
            lock (peer_info_lock)
            {
                List <int> peer_indicies = new List <int>();

                foreach (PeerInfo p in all_peers)
                {
                    if (p.Equals(info))
                    {
                        peer_indicies.Add(all_peers.IndexOf(p));
                    }
                }

                peer_indicies.Reverse();

                foreach (int i in peer_indicies)
                {
                    all_peers.RemoveAt(i);
                }

                all_peers.Add(info);
            }
        }