private void AddPersistedPeers() { if (!_configurationProvider.IsPeersPersistenceOn) { return; } var peers = _peerStorage.GetPersistedPeers(); if (_logger.IsInfoEnabled) { _logger.Info($"Initializing persisted peers: {peers.Length}."); } foreach (var persistedPeer in peers) { if (_newPeers.ContainsKey(persistedPeer.Node.Id) || _activePeers.ContainsKey(persistedPeer.Node.Id)) { //Peer already added by discovery continue; } var nodeStats = _nodeStatsProvider.GetNodeStats(persistedPeer.Node.Id); nodeStats.CurrentPersistedNodeReputation = persistedPeer.PersistedReputation; var peer = new Peer(persistedPeer.Node, nodeStats); if (!_newPeers.TryAdd(persistedPeer.Node.Id, peer)) { continue; } if (_logger.IsInfoEnabled) { _logger.Info($"Adding persisted peer to New collection {persistedPeer.Node.Id.ToString(false)}@{persistedPeer.Node.Host}:{persistedPeer.Node.Port}"); } } }
public INodeLifecycleManager CreateNodeLifecycleManager(Node node) { if (DiscoveryManager == null) { throw new Exception($"{nameof(DiscoveryManager)} has to be set"); } return(new NodeLifecycleManager(node, DiscoveryManager, _nodeTable, _logger, _discoveryConfigurationProvider, _discoveryMessageFactory, _evictionManager, _nodeStatsProvider.GetNodeStats(node.Id))); }