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); }
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)); }