Пример #1
0
        public AlgorithmManager(IPoolManager poolManager, IObjectFactory objectFactory)
        {
            _storage = new List <IHashAlgorithmStatistics>();

            // add algorithms
            foreach (var pool in poolManager.GetAll())
            {
                var query = _storage.FirstOrDefault(x => x.Name == pool.Config.Coin.Algorithm);

                if (query != null)
                {
                    continue;
                }

                var statistics = objectFactory.GetHashAlgorithmStatistics(pool.Config.Coin.Algorithm);

                _storage.Add(statistics);
            }

            // assign pools to hash algorithms
            foreach (var item in _storage)
            {
                var algorithm = item;
                var pools     = poolManager.GetAll().Where(p => p.Config.Coin.Algorithm == algorithm.Name);
                algorithm.AssignPools(pools);
            }
        }
Пример #2
0
        public AlgorithmManager(IPoolManager poolManager, IObjectFactory objectFactory)
        {
            _storage = new List<IHashAlgorithmStatistics>();

            // add algorithms
            foreach (var pool in poolManager.GetAll())
            {
                var query = _storage.FirstOrDefault(x => x.Name == pool.Config.Coin.Algorithm);

                if (query != null)
                    continue;

                var statistics = objectFactory.GetHashAlgorithmStatistics(pool.Config.Coin.Algorithm);

                _storage.Add(statistics);
            }

            // assign pools to hash algorithms
            foreach (var item in _storage)
            {
                var algorithm = item;
                var pools = poolManager.GetAll().Where(p => p.Config.Coin.Algorithm == algorithm.Name);
                algorithm.AssignPools(pools);
            }
        }
Пример #3
0
        public AlgorithmManager(IPoolManager poolManager)
        {
            _storage = new List <IHashAlgorithm>();

            // add algorithms
            foreach (var pool in poolManager.GetAll())
            {
                if (_storage.Contains(pool.HashAlgorithm))
                {
                    continue;
                }

                _storage.Add(pool.HashAlgorithm);
            }

            // assign pools to hash algorithms
            foreach (var item in _storage)
            {
                var algorithm = item;
                var pools     = poolManager.GetAll().Where(p => p.Config.Coin.Algorithm == algorithm.GetType().Name.ToLower());
                algorithm.AssignPools(pools);
            }
        }
Пример #4
0
        public AlgorithmManager(IPoolManager poolManager)
        {
            _storage = new List<IHashAlgorithm>();

            // add algorithms
            foreach (var pool in poolManager.GetAll())
            {
                if (_storage.Contains(pool.HashAlgorithm))
                    continue;
                
                _storage.Add(pool.HashAlgorithm);
            }

            // assign pools to hash algorithms
            foreach (var item in _storage)
            {
                var algorithm = item;
                var pools = poolManager.GetAll().Where(p => p.Config.Coin.Algorithm == algorithm.GetType().Name.ToLower());
                algorithm.AssignPools(pools);
            }
        }