Example #1
0
 public CandlesManager(
     ICandlesCacheService candlesCacheService,
     ICandlesPersistenceQueue candlesPersistenceQueue)
 {
     _candlesCacheService     = candlesCacheService;
     _candlesPersistenceQueue = candlesPersistenceQueue;
 }
 public CandlesManager(
     ICandlesCacheService candlesCacheService,
     ICandlesHistoryRepository candlesHistoryRepository)
 {
     _candlesCacheService      = candlesCacheService;
     _candlesHistoryRepository = candlesHistoryRepository;
 }
Example #3
0
        public CandlesCacheInitalizationService(
            ICandlesCacheSemaphore cacheSem,
            ILogFactory logFactory,
            IAssetPairsManager assetPairsManager,
            IClock clock,
            ICandlesCacheService candlesCacheService,
            ICandlesHistoryRepository candlesHistoryRepository,
            Dictionary <CandleTimeInterval, int> amountOfCandlesToStore,
            MarketType marketType,
            DateTime minDate)
        {
            _cacheSem = cacheSem ?? throw new ArgumentNullException(nameof(cacheSem));

            if (logFactory == null)
            {
                throw new ArgumentNullException(nameof(logFactory));
            }

            _log = logFactory.CreateLog(this);
            _assetPairsManager        = assetPairsManager ?? throw new ArgumentNullException(nameof(assetPairsManager));
            _clock                    = clock ?? throw new ArgumentNullException(nameof(clock));
            _candlesCacheService      = candlesCacheService ?? throw new ArgumentNullException(nameof(candlesCacheService));
            _candlesHistoryRepository = candlesHistoryRepository ?? throw new ArgumentNullException(nameof(candlesHistoryRepository));
            _amountOfCandlesToStore   = amountOfCandlesToStore;
            _marketType               = marketType;
            _minDate                  = minDate;

            InitializationState = CacheInitializationState.Idle;
        }
Example #4
0
 public CandlesCacheInitalizationService(
     ILog log,
     IAssetPairsManager assetPairsManager,
     IClock clock,
     ICandlesCacheService candlesCacheService,
     ICandlesHistoryRepository candlesHistoryRepository,
     int amountOfCandlesToStore)
 {
     _log = log;
     _assetPairsManager        = assetPairsManager;
     _clock                    = clock;
     _candlesCacheService      = candlesCacheService;
     _candlesHistoryRepository = candlesHistoryRepository;
     _amountOfCandlesToStore   = amountOfCandlesToStore;
 }
Example #5
0
 public CandlesCacheInitalizationService(
     ILog log,
     IAssetPairsManager assetPairsManager,
     IClock clock,
     ICandlesCacheService candlesCacheService,
     ICandlesHistoryRepository candlesHistoryRepository,
     ICandlesAmountManager candlesAmountManager,
     ICandlesShardValidator candlesShardValidator)
 {
     _log = log;
     _assetPairsManager        = assetPairsManager;
     _clock                    = clock;
     _candlesCacheService      = candlesCacheService;
     _candlesHistoryRepository = candlesHistoryRepository;
     _candlesAmountManager     = candlesAmountManager;
     _candlesShardValidator    = candlesShardValidator;
 }
Example #6
0
        public RedisCacheCaretaker(
            ICandlesHistoryRepository historyRepository,
            ICandlesCacheService redisCacheService,
            ICandlesCacheInitalizationService cacheInitalizationService,
            TimeSpan cacheCheckupPeriod,
            Dictionary <CandleTimeInterval, int> amountOfCandlesToStore,
            MarketType marketType,
            ILogFactory logFactory)
        {
            _historyRepository         = historyRepository ?? throw new ArgumentNullException(nameof(historyRepository));
            _redisCacheService         = redisCacheService ?? throw new ArgumentNullException(nameof(redisCacheService));
            _cacheInitalizationService = cacheInitalizationService ?? throw new ArgumentNullException(nameof(cacheInitalizationService));
            _amountOfCandlesToStore    = amountOfCandlesToStore;
            _marketType = marketType;

            _maintainTicker            = new TimerTrigger(nameof(RedisCacheCaretaker), cacheCheckupPeriod, logFactory);
            _maintainTicker.Triggered += MaintainTickerOnTriggered;
        }