/// <summary> /// Initializes a new instance of the <see cref="FeedRecoveryManager"/> class /// </summary> /// <param name="producerRecoveryManagerFactory">A <see cref="IProducerRecoveryManagerFactory"/> used to create new <see cref="IProducerRecoveryManager"/></param> /// <param name="config">A <see cref="IOddsFeedConfigurationInternal"/> used on feed</param> /// <param name="timer">A <see cref="ITimer"/> used for invocation of period tasks</param> /// <param name="producerManager">The <see cref="IProducerManager"/> with all available <see cref="IProducer"/></param> /// <param name="systemSession">The <see cref="IFeedSystemSession"/> for processing alive messages</param> public FeedRecoveryManager(IProducerRecoveryManagerFactory producerRecoveryManagerFactory, IOddsFeedConfiguration config, ITimer timer, IProducerManager producerManager, IFeedSystemSession systemSession) { Guard.Argument(producerRecoveryManagerFactory, nameof(producerRecoveryManagerFactory)).NotNull(); Guard.Argument(config, nameof(config)).NotNull(); Guard.Argument(timer, nameof(timer)).NotNull(); Guard.Argument(producerManager, nameof(producerManager)).NotNull(); Guard.Argument(systemSession, nameof(systemSession)).NotNull(); _producerRecoveryManagerFactory = producerRecoveryManagerFactory; _inactivityTimer = timer; _producerManager = producerManager; _systemSession = systemSession; }
/// <summary> /// Initializes a new instance of the <see cref="FeedRecoveryManager"/> class /// </summary> /// <param name="producerRecoveryManagerFactory">A <see cref="IProducerRecoveryManagerFactory"/> used to create new <see cref="IProducerRecoveryManager"/></param> /// <param name="config">A <see cref="IOddsFeedConfigurationInternal"/> used on feed</param> /// <param name="timer">A <see cref="ITimer"/> used for invocation of period tasks</param> /// <param name="producerManager">The <see cref="IProducerManager"/> with all available <see cref="IProducer"/></param> /// <param name="systemSession">The <see cref="IFeedSystemSession"/> for processing alive messages</param> public FeedRecoveryManager(IProducerRecoveryManagerFactory producerRecoveryManagerFactory, IOddsFeedConfiguration config, ITimer timer, IProducerManager producerManager, IFeedSystemSession systemSession) { Contract.Requires(producerRecoveryManagerFactory != null); Contract.Requires(config != null); Contract.Requires(timer != null); Contract.Requires(producerManager != null); Contract.Requires(systemSession != null); _producerRecoveryManagerFactory = producerRecoveryManagerFactory; _inactivityTimer = timer; _producerManager = producerManager; _systemSession = systemSession; }