Exemplo n.º 1
0
        public void IPEndPointComparerShouldCompareParsedV4AndV6IPEndpointsCorrectly()
        {
            var comparer = new IPEndPointComparer();

            var endpoint1 = new IPEndPoint(IPAddress.Parse("::ffff:127.0.0.1"), 12857);
            var endpoint2 = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 12857);

            comparer.Equals(endpoint2, endpoint1).Should().BeTrue();

            endpoint1 = new IPEndPoint(IPAddress.Parse("::ffff:127.0.0.1"), 12857);
            endpoint2 = new IPEndPoint(IPAddress.Parse("127.1.0.1"), 12857);
            comparer.Equals(endpoint2, endpoint1).Should().BeFalse();

            endpoint1 = new IPEndPoint(IPAddress.Parse("::ffff:127.0.0.1"), 12857);
            endpoint2 = new IPEndPoint(IPAddress.Parse("127.1.0.1"), 12858);
            comparer.Equals(endpoint2, endpoint1).Should().BeFalse();
        }
Exemplo n.º 2
0
        public void CanCompareIPEndPoints()
        {
            var ep1 = new IPEndPoint(IPAddress.Parse("1.2.3.4"), 5);
            var ep2 = new IPEndPoint(IPAddress.Parse("1.2.3.4"), 6);
            var ep3 = new IPEndPoint(IPAddress.Parse("1.1.2.2"), 5);
            var ep4 = new IPEndPoint(IPAddress.Parse("1.1.2.2"), 6);
            var ep5 = new IPEndPoint(IPAddress.Parse("1.1.2.2"), 6);

            var comparer = new IPEndPointComparer();

            Assert.False(comparer.Equals(ep1, ep2));
            Assert.False(comparer.Equals(ep1, ep3));
            Assert.True(comparer.Equals(ep4, ep5));

            Assert.NotEqual(comparer.GetHashCode(ep1), comparer.GetHashCode(ep2));
            Assert.NotEqual(comparer.GetHashCode(ep1), comparer.GetHashCode(ep3));
            Assert.Equal(comparer.GetHashCode(ep4), comparer.GetHashCode(ep5));
        }
Exemplo n.º 3
0
        /// <summary>
        /// TODO: Documentation RemoveEP
        /// </summary>
        /// <param name="peerEP"></param>
        public void RemoveEP(IPEndPoint peerEP)
        {
            IPEndPointComparer comparer = new IPEndPointComparer();

            foreach (var item in this.peersToPunch)
            {
                if (comparer.Equals(item.Value, peerEP))
                {
                    this.peersToPunch.Remove(item.Key);
                }
            }
        }