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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }