Пример #1
0
        private Timer _blockPollerTimer; // timer for polling new blocks.

        public JobManager(IPoolConfig poolConfig, IDaemonClient daemonClient, IOverpoolClient overpoolClient, IJobTracker jobTracker, IShareManager shareManager,
                          IMinerManager minerManager, IHashAlgorithm hashAlgorithm)
        {
            _daemonClient   = daemonClient;
            _overpoolClient = overpoolClient;
            _jobTracker     = jobTracker;
            _shareManager   = shareManager;
            _minerManager   = minerManager;
            _hashAlgorithm  = hashAlgorithm;
            _poolConfig     = poolConfig;

            _jobCounter = new JobCounter(); // todo make this ioc based too.

            _logger = Log.ForContext <JobManager>().ForContext("Component", poolConfig.Coin.Name);
        }
Пример #2
0
        public IJobManager GetJobManager(IPoolConfig poolConfig, IDaemonClient daemonClient, IOverpoolClient overpoolClient, IJobTracker jobTracker, IShareManager shareManager, IMinerManager minerManager, IHashAlgorithm hashAlgorithm)
        {
            var @params = new NamedParameterOverloads
            {
                { "poolConfig", poolConfig },
                { "daemonClient", daemonClient },
                { "overpoolClient", overpoolClient },
                { "jobTracker", jobTracker },
                { "shareManager", shareManager },
                { "minerManager", minerManager },
                { "hashAlgorithm", hashAlgorithm },
            };

            return(_applicationContext.Container.Resolve <IJobManager>(@params));
        }