public VardiffManager(string pool, IShareManager shareManager, IVardiffConfig vardiffConfig)
        {
            _logger = Log.ForContext<VardiffManager>().ForContext("Component", pool);

            Config = vardiffConfig;

            if (!Config.Enabled)
                return;

            shareManager.ShareSubmitted += OnShare;

            var variance = vardiffConfig.TargetTime*((float)vardiffConfig.VariancePercent/100);
            _bufferSize = vardiffConfig.RetargetTime/vardiffConfig.TargetTime*4;
            _tMin = vardiffConfig.TargetTime - variance;
            _tMax = vardiffConfig.TargetTime + variance;
        }
Example #2
0
        public StratumServerConfig(dynamic config)
        {
            try
            {
                // load the config data.
                Enabled       = config.enabled;
                BindInterface = string.IsNullOrEmpty(config.bind) ? "0.0.0.0" : config.bind;
                Port          = config.port;
                Diff          = config.diff == 0 ? 16 : (float)config.diff;
                Vardiff       = new VardiffConfig(config.vardiff);

                Valid = true;
            }
            catch (Exception e)
            {
                Valid = false;
                Log.Logger.ForContext <StratumServerConfig>().Error(e, "Error loading stratum server configuration");
            }
        }
        public VardiffManager(IPoolConfig poolConfig, IShareManager shareManager)
        {
            _logger = Log.ForContext <VardiffManager>().ForContext("Component", poolConfig.Coin.Name);

            Config = poolConfig.Stratum.Vardiff;

            if (!Config.Enabled)
            {
                return;
            }

            shareManager.ShareSubmitted += OnShare;

            var variance = Config.TargetTime * ((float)Config.VariancePercent / 100);

            _bufferSize = Config.RetargetTime / Config.TargetTime * 4;
            _tMin       = Config.TargetTime - variance;
            _tMax       = Config.TargetTime + variance;
        }
Example #4
0
        public IVardiffManager GetVardiffManager(string pool, IShareManager shareManager, IVardiffConfig vardiffConfig)
        {
            var @params = new NamedParameterOverloads
            {
                {"pool", pool},
                {"shareManager", shareManager},
                {"vardiffConfig", vardiffConfig},
            };

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