public MinuteDayChangeMonitor( IDateTimeSource dateTimeSource, IMinuteDayChangeMonitorStrategy monitorStrategy) //TODO: call a method instead. { this.dateTimeSource = dateTimeSource; this.monitorStrategy = monitorStrategy; }
/// <summary> /// Constructor, /// </summary> /// <param name="gameRoundDataManager">Game Round Data Manager</param> /// <param name="gameManager">Game manager</param> /// <param name="ethereumAccountManager">Ethereum account manager.</param> /// <param name="transactionLoader">Transaction Loader.</param> /// <param name="contractInfoRegistry">Contract info registry.</param> /// <param name="eventSignatureFactory">Event signature factory.</param> /// <param name="eventHandlerFactory">Event Handler Factory.</param> /// <param name="eventDataManager">Event data manager.</param> /// <param name="eventDecoder">Event Decoder.</param> /// <param name="confirmationsReadinessChecker">Confirmations readiness checker.</param> /// <param name="dateTimeSource">Source of time.</param> /// <param name="logger">Logging.</param> public BrokenGameRecovery(IGameRoundDataManager gameRoundDataManager, IGameManager gameManager, IEthereumAccountManager ethereumAccountManager, ITransactionLoader transactionLoader, IContractInfoRegistry contractInfoRegistry, IEventSignatureFactory eventSignatureFactory, IEventHandlerFactory eventHandlerFactory, IEventDataManager eventDataManager, IEventDecoder eventDecoder, IConfirmationsReadinessChecker confirmationsReadinessChecker, IDateTimeSource dateTimeSource, ILogger <BrokenGameRecovery> logger) { this._gameRoundDataManager = gameRoundDataManager ?? throw new ArgumentNullException(nameof(gameRoundDataManager)); this._gameManager = gameManager ?? throw new ArgumentNullException(nameof(gameManager)); this._ethereumAccountManager = ethereumAccountManager ?? throw new ArgumentNullException(nameof(ethereumAccountManager)); this._transactionLoader = transactionLoader ?? throw new ArgumentNullException(nameof(transactionLoader)); this._eventSignatureFactory = eventSignatureFactory ?? throw new ArgumentNullException(nameof(eventSignatureFactory)); this._eventHandlerFactory = eventHandlerFactory ?? throw new ArgumentNullException(nameof(eventHandlerFactory)); this._eventDataManager = eventDataManager ?? throw new ArgumentNullException(nameof(eventDataManager)); this._eventDecoder = eventDecoder ?? throw new ArgumentNullException(nameof(eventDecoder)); this._confirmationsReadinessChecker = confirmationsReadinessChecker ?? throw new ArgumentNullException(nameof(confirmationsReadinessChecker)); this._dateTimeSource = dateTimeSource ?? throw new ArgumentNullException(nameof(dateTimeSource)); this._logger = logger ?? throw new ArgumentNullException(nameof(logger)); this._contractInfo = contractInfoRegistry.FindContractInfo(WellKnownContracts.GameManager); }
/// <summary> /// Constructor. /// </summary> /// <param name="ethereumBlockStatus">Ethereum block status.</param> /// <param name="dateTimeSource">Source of date/time.</param> public GameRoundTimeCalculator(IEthereumBlockStatus ethereumBlockStatus, IDateTimeSource dateTimeSource) { this._ethereumBlockStatus = ethereumBlockStatus ?? throw new ArgumentNullException(nameof(ethereumBlockStatus)); this._dateTimeSource = dateTimeSource ?? throw new ArgumentNullException(nameof(dateTimeSource)); this._blockStatus = new ConcurrentDictionary <EthereumNetwork, BlockStatus>(); this._ethereumBlockStatus.OnNewLatestBlock += (_, networkBlockHeader) => this.NewBlockReceived(networkBlockHeader); }
//--------------------------------------------------------------------------------------------- public GoalAttemptStore(IGoalAttemptDb goalAttemptDb, IGoalStore goalStore, IDateTimeSource dateTimeSource) { _goalAttemptDb = goalAttemptDb; _goalStore = goalStore; _dateTimeSource = dateTimeSource; }
//--------------------------------------------------------------------------------------------- public TokenStore(ITokenDb tokenDb, ITokenSettings settings, IDateTimeSource dateTimeSource, ILogger log) { _tokenDb = tokenDb; _dateTimeSource = dateTimeSource; _log = log; _tokenLifetimeInMinutes = settings.TokenLifetimeInMinutes; }
/// <summary> /// Constructor. /// </summary> /// <param name="gameStatisticsPublisher">Game stats web socket publisher</param> /// <param name="gameRoundDataManager">Game Round Data manager</param> /// <param name="gameRoundLockManager">Game Round Lock manager.</param> /// <param name="gameRoundTimeCalculator">Game Round time calculator.</param> /// <param name="dateTimeSource">Source of time.</param> /// <param name="logger">Logging.</param> public StartGameRoundEventHandler(IGameStatisticsPublisher gameStatisticsPublisher, IGameRoundDataManager gameRoundDataManager, IObjectLockManager <GameRoundId> gameRoundLockManager, IGameRoundTimeCalculator gameRoundTimeCalculator, IDateTimeSource dateTimeSource, ILogger <StartGameRoundEventHandler> logger) : base(gameRoundDataManager: gameRoundDataManager, gameRoundLockManager: gameRoundLockManager, logger: logger) { this._gameStatisticsPublisher = gameStatisticsPublisher ?? throw new ArgumentNullException(nameof(gameStatisticsPublisher)); this._gameRoundTimeCalculator = gameRoundTimeCalculator ?? throw new ArgumentNullException(nameof(gameRoundTimeCalculator)); this._dateTimeSource = dateTimeSource ?? throw new ArgumentNullException(nameof(dateTimeSource)); }
//--------------------------------------------------------------------------------------------- public GoalController(IGoalStore goalStore, IGoalAttemptStore goalAttemptStore, IUserStore userStore, ITokenStore tokenStore, IDbQuery dbQuery, IDateTimeSource dateTime, ILogger log) { if (goalStore == null) { throw new ArgumentException("GoalStore cannot be null."); } if (goalAttemptStore == null) { throw new ArgumentException("GoalAttemptStore cannot be null."); } if (userStore == null) { throw new ArgumentException("UserStore cannot be null."); } if (tokenStore == null) { throw new ArgumentException("TokenStore cannot be null."); } if (dbQuery == null) { throw new ArgumentException("DbQuery cannot be null."); } if (dateTime == null) { throw new ArgumentException("DateTimeSource cannot be null."); } if (log == null) { throw new ArgumentException("Logger cannot be null."); } _goalStore = goalStore; _goalAttemptStore = goalAttemptStore; _userStore = userStore; _tokenStore = tokenStore; _dbQuery = dbQuery; _dateTime = dateTime; _log = log; }
/// <summary> /// Constructor. /// </summary> /// <param name="ethereumAccountManager">Ethereum account manager.</param> /// <param name="gameRoundDataManager">Game round data manager.</param> /// <param name="gameManager">Game Manager.</param> /// <param name="gameRoundLockManager">Game round lock manager.</param> /// <param name="dateTimeSource">Source of time.</param> /// <param name="logger">Logging.</param> public EndGameService(IEthereumAccountManager ethereumAccountManager, IGameRoundDataManager gameRoundDataManager, IGameManager gameManager, IObjectLockManager <GameRoundId> gameRoundLockManager, IDateTimeSource dateTimeSource, ILogger <EndGameService> logger) { this._ethereumAccountManager = ethereumAccountManager ?? throw new ArgumentNullException(nameof(ethereumAccountManager)); this._gameRoundDataManager = gameRoundDataManager ?? throw new ArgumentNullException(nameof(gameRoundDataManager)); this._gameManager = gameManager ?? throw new ArgumentNullException(nameof(gameManager)); this._gameRoundLockManager = gameRoundLockManager ?? throw new ArgumentNullException(nameof(gameRoundLockManager)); this._dateTimeSource = dateTimeSource ?? throw new ArgumentNullException(nameof(dateTimeSource)); this._logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
/// <summary> /// Constructor. /// </summary> /// <param name="ethereumNetworkConfigurationManager"></param> /// <param name="ethereumBlockStatus"></param> /// <param name="latestBlockRetriever">Retriever of the latest blocks.</param> /// <param name="dateTimeSource">Source of time</param> /// <param name="endGameService">Game ending.</param> /// <param name="logger">Logging</param> public EndGameBackgroundService(IEthereumNetworkConfigurationManager ethereumNetworkConfigurationManager, IEthereumBlockStatus ethereumBlockStatus, IEthereumLatestBlockRetriever latestBlockRetriever, IDateTimeSource dateTimeSource, IEndGameService endGameService, ILogger <EndGameBackgroundService> logger) : base(ethereumNetworkConfigurationManager: ethereumNetworkConfigurationManager, ethereumBlockStatus: ethereumBlockStatus, latestBlockRetriever: latestBlockRetriever, processUnchangedBlocks: false, dateTimeSource: dateTimeSource, sweepInterval: TimeSpan.FromSeconds(0.5), blockTriggeredService: new BackgroundService(endGameService), logger: logger) { }
public BlockStatus(IDateTimeSource dateTimeSource) { this._dateTimeSource = dateTimeSource ?? throw new ArgumentNullException(nameof(dateTimeSource)); this._currentTime = null; }
/// <summary> /// Constructor /// </summary> /// <param name="dateTimeSource">The IDateTimeSource</param> public RateLimiter(IDateTimeSource dateTimeSource) { this._memoryCache = new MemoryCache(new MemoryCacheOptions()); this._dateTimeSource = dateTimeSource ?? throw new ArgumentNullException(nameof(dateTimeSource)); this._keyLock = new KeyLock <string>(StringComparer.OrdinalIgnoreCase); }
public Alerter(IDateTimeSource dateTimeSource) { _dateTimeSource = dateTimeSource; }
public SharesProvider(IDateTimeSource dateTimeSource) { _dateTimeSource = dateTimeSource; }
public OrderProvider(IDateTimeSource dateTimeSource) { _dateTimeSource = dateTimeSource; }