示例#1
0
        public PeerManager(
            IRlpxPeer rlpxPeer,
            IDiscoveryApp discoveryApp,
            INodeStatsManager stats,
            INetworkStorage peerStorage,
            IPeerLoader peerLoader,
            INetworkConfig networkConfig,
            ILogManager logManager)
        {
            _logger        = logManager.GetClassLogger();
            _rlpxPeer      = rlpxPeer ?? throw new ArgumentNullException(nameof(rlpxPeer));
            _stats         = stats ?? throw new ArgumentNullException(nameof(stats));
            _discoveryApp  = discoveryApp ?? throw new ArgumentNullException(nameof(discoveryApp));
            _networkConfig = networkConfig ?? throw new ArgumentNullException(nameof(networkConfig));
            _peerStorage   = peerStorage ?? throw new ArgumentNullException(nameof(peerStorage));
            _peerLoader    = peerLoader ?? throw new ArgumentNullException(nameof(peerLoader));
            _peerStorage.StartBatch();

            _peerComparer = new PeerComparer(_stats);
        }