public IBanManager GetBanManager(string pool, IShareManager shareManager, IBanConfig banConfig) { var @params = new NamedParameterOverloads { {"pool", pool}, {"shareManager", shareManager}, {"banConfig", banConfig}, }; return _applicationContext.Container.Resolve<IBanManager>(@params); }
public BanManager(IPoolConfig poolConfig, IShareManager shareManager) { Config = poolConfig.Banning; if (!Config.Enabled) return; _logger = Log.ForContext<BanManager>().ForContext("Component", poolConfig.Coin.Name); _bannedIps = new Dictionary<IPAddress, int>(); _timer = new Timer(CheckBans, null, Timeout.Infinite, Timeout.Infinite); // create the timer as disabled. shareManager.ShareSubmitted += OnShare; CheckBans(null); }
public BanManager(IPoolConfig poolConfig, IShareManager shareManager) { Config = poolConfig.Banning; if (!Config.Enabled) { return; } _logger = Log.ForContext <BanManager>().ForContext("Component", poolConfig.Coin.Name); _bannedIps = new Dictionary <IPAddress, int>(); _timer = new Timer(CheckBans, null, Timeout.Infinite, Timeout.Infinite); // create the timer as disabled. shareManager.ShareSubmitted += OnShare; CheckBans(null); }