示例#1
0
        public async Task AddPeer_MultipleTimes_Test()
        {
            var peer = CreatePeer("127.0.0.1:1000");

            _peerPool.TryAddPeer(peer);
            _peerPool.PeerCount.ShouldBe(1);
            _peerPool.IsFull().ShouldBeFalse();

            peer = CreatePeer("127.0.0.1:2000");
            _peerPool.TryAddPeer(peer);
            _peerPool.PeerCount.ShouldBe(2);
            _peerPool.IsFull().ShouldBeTrue();
        }
示例#2
0
        public void IsFull_Test()
        {
            var peer = CreatePeer();

            _peerPool.TryAddPeer(peer);
            _peerPool.PeerCount.ShouldBe(1);
            _peerPool.IsFull().ShouldBeFalse();

            peer = CreatePeer();
            _peerPool.TryAddPeer(peer);
            _peerPool.PeerCount.ShouldBe(2);
            _peerPool.IsFull().ShouldBeFalse();
        }
示例#3
0
        private ConnectError ValidateConnectionInfo(IPEndPoint endpoint, ConnectionInfo connectionInfo)
        {
            // verify chain id
            if (connectionInfo.ChainId != ChainOptions.ChainId)
            {
                return(ConnectError.ChainMismatch);
            }

            // verify protocol
            if (connectionInfo.Version != KernelConstants.ProtocolVersion)
            {
                return(ConnectError.ProtocolMismatch);
            }

            // verify if we still have room for more peers
            if (NetworkOptions.MaxPeers != 0 && _peerPool.IsFull())
            {
                Logger.LogWarning($"Cannot add peer, there's currently {_peerPool.PeerCount} peers (max. {NetworkOptions.MaxPeers}).");
                return(ConnectError.ConnectionRefused);
            }

            return(ConnectError.ConnectOk);
        }
示例#4
0
 public bool IsPeerPoolFull()
 {
     return(_peerPool.IsFull());
 }
示例#5
0
        public void IsPeerPoolFull_Test()
        {
            var peerPoolIsFull = _peerPool.IsFull();

            _networkService.IsPeerPoolFull().ShouldBe(peerPoolIsFull);
        }
示例#6
0
        public void PeerIsFull_Test()
        {
            var result = _peerPool.IsFull();

            result.ShouldBeFalse();
        }