public IHandlersManagerConfiguration Clone() { var configuration = new HandlersManagerConfiguration(); configuration.GloutonHandlers.AddRange(GloutonHandlers.Select(h => h.Clone())); return(configuration); }
public void ApplyConfiguration(IHandlersManagerConfiguration handlersManagerConfiguration) { if (handlersManagerConfiguration == null) { throw new ArgumentNullException(nameof(handlersManagerConfiguration)); } _handlersManagerConfiguration = handlersManagerConfiguration as HandlersManagerConfiguration ?? throw new ArgumentException(nameof(handlersManagerConfiguration)); _handlersManager.ApplyConfiguration(_handlersManagerConfiguration); }
public void Open(IHandlersManagerConfiguration handlersManagerConfiguration) { if (handlersManagerConfiguration == null) { throw new ArgumentNullException(nameof(handlersManagerConfiguration)); } _handlersManagerConfiguration = handlersManagerConfiguration as HandlersManagerConfiguration ?? throw new ArgumentException(nameof(handlersManagerConfiguration)); _controlChannelServer.Open(); _handlersManager.Start(_handlersManagerConfiguration); }
public void ApplyConfiguration(HandlersManagerConfiguration configuration, bool waitForApplication = false) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } if (!configuration.InternalClone) { configuration = (HandlersManagerConfiguration)configuration.Clone(); configuration.InternalClone = true; } _sink.ApplyConfiguration(configuration, waitForApplication); }
public void Start(HandlersManagerConfiguration configuration) { _sink.Start(configuration.TimerDuration, TimeSpan.FromMinutes(5), OnExternalTimer); ApplyConfiguration(configuration, true); }