public IHandlersManagerConfiguration Clone()
        {
            var configuration = new HandlersManagerConfiguration();

            configuration.GloutonHandlers.AddRange(GloutonHandlers.Select(h => h.Clone()));
            return(configuration);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 public void Start(HandlersManagerConfiguration configuration)
 {
     _sink.Start(configuration.TimerDuration, TimeSpan.FromMinutes(5), OnExternalTimer);
     ApplyConfiguration(configuration, true);
 }