public CurrentSynchronizationContextDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
            : base(config, prerequisites)
        {

            _executorServiceConfigurator = new CurrentSynchronizationContextExecutorServiceFactory(config, prerequisites);
            // We don't bother trying to support any other type of exectuor here. PinnedDispatcher doesn't support them
        }
Example #2
0
 public PinnedDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
     : base(config, prerequisites)
 {
     
     _executorServiceConfigurator = new ForkJoinExecutorServiceFactory(ForkJoinExecutorServiceFactory.SingleThreadDefault.WithFallback("id=" + config.GetString("id")), Prerequisites);
     // We don't bother trying to support any other type of exectuor here. PinnedDispatcher doesn't support them
 }
Example #3
0
 /// <summary>Initializes a new instance of the <see cref="Dispatchers" /> class.</summary>
 /// <param name="system">The system.</param>
 /// <param name="prerequisites">The prerequisites required for some <see cref="MessageDispatcherConfigurator"/> instances.</param>
 public Dispatchers(ActorSystem system, IDispatcherPrerequisites prerequisites)
 {
     _system                  = system;
     Prerequisites            = prerequisites;
     _cachingConfig           = new CachingConfig(prerequisites.Settings.Config);
     _defaultGlobalDispatcher = Lookup(DefaultDispatcherId);
 }
Example #4
0
 /// <summary>
 /// TBD
 /// </summary>
 /// <param name="config">TBD</param>
 /// <param name="prerequisites">TBD</param>
 public PinnedDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
     : base(config, prerequisites)
 {
     _executorServiceConfigurator =
         new ForkJoinExecutorServiceFactory(
             ForkJoinExecutorServiceFactory.SingleThreadDefault.WithFallback("id=" + config.GetString("id", null)), Prerequisites);
     // We don't bother trying to support any other type of executor here. PinnedDispatcher doesn't support them
 }
Example #5
0
 public MessageDispatcherInterceptorConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
     _instance = new MessageDispatcherInterceptor(this,
                                                  config.GetString("id"),
                                                  config.GetInt("throughput"),
                                                  config.GetTimeSpan("throughput-deadline-time").Ticks,
                                                  ConfigureExecutor(),
                                                  Config.GetTimeSpan("shutdown-timeout"));
 }
Example #6
0
        public ChannelExecutorConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
        {
            var fje = config.GetConfig("fork-join-executor");

            MaxParallelism = ThreadPoolConfig.ScaledPoolSize(
                fje.GetInt("parallelism-min"),
                fje.GetDouble("parallelism-factor", 1.0D),         // the scalar-based factor to scale the threadpool size to
                fje.GetInt("parallelism-max"));
        }
Example #7
0
        /// <summary>Initializes a new instance of the <see cref="Dispatchers" /> class.</summary>
        /// <param name="system">The system.</param>
        /// <param name="prerequisites">The prerequisites required for some <see cref="MessageDispatcherConfigurator"/> instances.</param>
        public Dispatchers(ActorSystem system, IDispatcherPrerequisites prerequisites, ILoggingAdapter logger)
        {
            _system                  = system;
            Prerequisites            = prerequisites;
            _cachingConfig           = new CachingConfig(prerequisites.Settings.Config);
            _defaultGlobalDispatcher = Lookup(DefaultDispatcherId);
            _logger                  = logger;

            InternalDispatcher = Lookup(InternalDispatcherId);
        }
        public ForkJoinDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
        {
            var dtp = config.GetConfig("dedicated-thread-pool");
            if (dtp == null || dtp.IsEmpty) throw new ConfigurationException(string.Format("must define section dedicated-thread-pool for ForkJoinDispatcher {0}", config.GetString("id", "unknown")));

            var settings = new DedicatedThreadPoolSettings(dtp.GetInt("thread-count"), 
                DedicatedThreadPoolConfigHelpers.ConfigureThreadType(dtp.GetString("threadtype", ThreadType.Background.ToString())),
                config.GetString("id"),
                DedicatedThreadPoolConfigHelpers.GetSafeDeadlockTimeout(dtp));
            _instance = new ForkJoinDispatcher(this, settings);
        }
Example #9
0
            public MessageDispatcherInterceptorConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
            {
                if (config.IsNullOrEmpty())
                {
                    throw ConfigurationException.NullOrEmptyConfig <MessageDispatcherInterceptorConfigurator>();
                }

                _instance = new MessageDispatcherInterceptor(this,
                                                             config.GetString("id", null),
                                                             config.GetInt("throughput", 0),
                                                             config.GetTimeSpan("throughput-deadline-time", null).Ticks,
                                                             ConfigureExecutor(),
                                                             Config.GetTimeSpan("shutdown-timeout", null));
            }
Example #10
0
        public ForkJoinDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
        {
            var dtp = config.GetConfig("dedicated-thread-pool");

            if (dtp == null || dtp.IsEmpty)
            {
                throw new ConfigurationException(string.Format("must define section dedicated-thread-pool for ForkJoinDispatcher {0}", config.GetString("id", "unknown")));
            }

            var settings = new DedicatedThreadPoolSettings(dtp.GetInt("thread-count"),
                                                           DedicatedThreadPoolConfigHelpers.ConfigureThreadType(dtp.GetString("threadtype", ThreadType.Background.ToString())),
                                                           DedicatedThreadPoolConfigHelpers.GetSafeDeadlockTimeout(dtp));

            _instance = new ForkJoinDispatcher(this, settings);
        }
 public PinnedDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
     : base(config, prerequisites)
 {
     var dtp = config.GetConfig("dedicated-thread-pool");
     if (dtp == null || dtp.IsEmpty)
     {
         _settings = DedicatedThreadPoolConfigHelpers.DefaultSingleThreadPoolSettings;
     }
     else
     {
         _settings = new DedicatedThreadPoolSettings(1,
         DedicatedThreadPoolConfigHelpers.ConfigureThreadType(dtp.GetString("threadtype", ThreadType.Background.ToString())),
         config.GetString("id"),
         DedicatedThreadPoolConfigHelpers.GetSafeDeadlockTimeout(dtp));
     }
 }
        public PinnedDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
            : base(config, prerequisites)
        {
            var dtp = config.GetConfig("dedicated-thread-pool");

            if (dtp == null || dtp.IsEmpty)
            {
                _settings = DedicatedThreadPoolConfigHelpers.DefaultSingleThreadPoolSettings;
            }
            else
            {
                _settings = new DedicatedThreadPoolSettings(1,
                                                            DedicatedThreadPoolConfigHelpers.ConfigureThreadType(dtp.GetString("threadtype", ThreadType.Background.ToString())),
                                                            DedicatedThreadPoolConfigHelpers.GetSafeDeadlockTimeout(dtp));
            }
        }
Example #13
0
        /// <summary>
        /// Used to configure and produce <see cref="Dispatcher"/> instances for use with actors.
        /// </summary>
        /// <param name="config">The configuration for this dispatcher.</param>
        /// <param name="prerequisites">System pre-reqs needed to run this dispatcher.</param>
        public DispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
            : base(config, prerequisites)
        {
            // Need to see if a non-zero value is available for this setting
            TimeSpan deadlineTime      = config.GetTimeSpan("throughput-deadline-time");
            long?    deadlineTimeTicks = null;

            if (deadlineTime.Ticks > 0)
            {
                deadlineTimeTicks = deadlineTime.Ticks;
            }

            _instance = new Dispatcher(this, config.GetString("id"),
                                       config.GetInt("throughput"),
                                       deadlineTimeTicks,
                                       ConfigureExecutor(),
                                       config.GetTimeSpan("shutdown-timeout"));
        }
Example #14
0
        public ChannelExecutorConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
        {
            var cfg = config.GetConfig("channel-executor");

            Priority = (TaskSchedulerPriority)Enum.Parse(typeof(TaskSchedulerPriority), cfg.GetString("priority", "normal"), true);
        }
Example #15
0
 /// <summary>
 /// TBD
 /// </summary>
 /// <param name="config">TBD</param>
 /// <param name="prerequisites">TBD</param>
 public CurrentSynchronizationContextExecutorServiceFactory(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
 }
Example #16
0
 public CurrentSynchronizationContextDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
 }
 public CurrentSynchronizationContextExecutorServiceFactory(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
 }
 public CurrentSynchronizationContextDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
 }
Example #19
0
 /// <summary>Initializes a new instance of the <see cref="Dispatchers" /> class.</summary>
 /// <param name="system">The system.</param>
 /// <param name="prerequisites">The prerequisites required for some <see cref="MessageDispatcherConfigurator"/> instances.</param>
 public Dispatchers(ActorSystem system, IDispatcherPrerequisites prerequisites)
 {
     _system = system;
     Prerequisites = prerequisites;
     _cachingConfig = new CachingConfig(prerequisites.Settings.Config);
     _defaultGlobalDispatcher = Lookup(DefaultDispatcherId);
 }
Example #20
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ForkJoinExecutorServiceFactory"/> class.
 /// </summary>
 /// <param name="config">TBD</param>
 /// <param name="prerequisites">TBD</param>
 /// <exception cref="ConfigurationException">
 /// This exception is thrown if either 'dedicated-thread-pool' OR 'fork-join-executor' is not defined in <paramref name="config"/>.
 /// </exception>
 public ForkJoinExecutorServiceFactory(Config config, IDispatcherPrerequisites prerequisites)
     : base(config, prerequisites)
 {
     _threadPoolConfiguration = ConfigureSettings(config);
 }
Example #21
0
 public DefaultTaskSchedulerExecutorConfigurator(Config config, IDispatcherPrerequisites prerequisites) 
     : base(config, prerequisites)
 {
 }
Example #22
0
 /// <summary>
 /// A configurable factory for producing <see cref="ExecutorService"/> instances.
 /// </summary>
 /// <param name="config">The configuration for this type of executor.</param>
 /// <param name="prerequisites">The prerequesites for this type of executor.</param>
 protected ExecutorServiceConfigurator(Config config, IDispatcherPrerequisites prerequisites)
 {
     Config = config;
     Prerequisites = prerequisites;
 }
Example #23
0
 /// <summary>
 /// A configurable factory for producing <see cref="ExecutorService"/> instances.
 /// </summary>
 /// <param name="config">The configuration for this type of executor.</param>
 /// <param name="prerequisites">The prerequesites for this type of executor.</param>
 protected ExecutorServiceConfigurator(Config config, IDispatcherPrerequisites prerequisites)
 {
     Config        = config;
     Prerequisites = prerequisites;
 }
Example #24
0
 /// <summary>
 /// Takes a <see cref="Config"/> object, usually passed in via <see cref="Settings.Config"/>
 /// </summary>
 protected MessageDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
 {
     Prerequisites = prerequisites;
     Config = config;
 }
Example #25
0
 public ThreadPoolExecutorServiceFactory(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
 }
Example #26
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ForkJoinExecutorServiceFactory"/> class.
 /// </summary>
 /// <exception cref="ConfigurationException">
 /// This exception is thrown if either 'dedicated-thread-pool' OR 'fork-join-executor' is not defined in <paramref name="config"/>.
 /// </exception>
 public ForkJoinExecutorServiceFactory(Config config, IDispatcherPrerequisites prerequisites)
     : base(config, prerequisites)
 {
     _threadPoolConfiguration = ConfigureSettings(config);
 }
Example #27
0
 /// <summary>
 /// TBD
 /// </summary>
 /// <param name="config">TBD</param>
 /// <param name="prerequisites">TBD</param>
 public CurrentSynchronizationContextDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
     : base(config, prerequisites)
 {
     _executorServiceConfigurator = new CurrentSynchronizationContextExecutorServiceFactory(config, prerequisites);
     // We don't bother trying to support any other type of executor here. PinnedDispatcher doesn't support them
 }
Example #28
0
 /// <summary>
 /// Takes a <see cref="Config"/> object, usually passed in via <see cref="Settings.Config"/>
 /// </summary>
 /// <param name="config">TBD</param>
 /// <param name="prerequisites">TBD</param>
 protected MessageDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
 {
     Prerequisites = prerequisites;
     Config        = new CachingConfig(config);
 }
Example #29
0
 public SlowDispatcher(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
     _instance = new DispatcherImpl(this);
 }
Example #30
0
 public PinnedDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
     _dispatcher = new SingleThreadDispatcher(this);
 }
Example #31
0
 /// <summary>
 /// TBD
 /// </summary>
 /// <param name="config">TBD</param>
 /// <param name="prerequisites">TBD</param>
 public DefaultTaskSchedulerExecutorConfigurator(Config config, IDispatcherPrerequisites prerequisites)
     : base(config, prerequisites)
 {
 }
Example #32
0
        /// <summary>
        /// Used to configure and produce <see cref="Dispatcher"/> instances for use with actors.
        /// </summary>
        /// <param name="config">The configuration for this dispatcher.</param>
        /// <param name="prerequisites">System pre-reqs needed to run this dispatcher.</param>
        public DispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
            : base(config, prerequisites)
        {
            // Need to see if a non-zero value is available for this setting
            TimeSpan deadlineTime = config.GetTimeSpan("throughput-deadline-time");
            long? deadlineTimeTicks = null;
            if (deadlineTime.Ticks > 0)
                deadlineTimeTicks = deadlineTime.Ticks;

            _instance = new Dispatcher(this, config.GetString("id"), 
                config.GetInt("throughput"),
                deadlineTimeTicks,
                ConfigureExecutor(),
                config.GetTimeSpan("shutdown-timeout"));
        }
Example #33
0
 /// <summary>
 /// TBD
 /// </summary>
 /// <param name="config">TBD</param>
 /// <param name="prerequisites">TBD</param>
 public ThreadPoolExecutorServiceFactory(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
 }
Example #34
0
 public AwaitableTaskDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
 }
 public TaskDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
     _instance = new TaskDispatcher(this);
 }
Example #36
0
 /// <summary>
 /// INTERNAL API
 ///
 /// Used when a plugin like Akka.Persistence needs to be able to load dispatcher configurations to the chain.
 /// </summary>
 internal void ReloadPrerequisites(IDispatcherPrerequisites prerequisites)
 {
     Prerequisites  = prerequisites;
     _cachingConfig = new CachingConfig(prerequisites.Settings.Config);
 }
 /// <summary>
 /// Takes a <see cref="Config"/> object, usually passed in via <see cref="Settings.Config"/>
 /// </summary>
 protected MessageDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
 {
     Prerequisites = prerequisites;
     Config        = config;
 }
 public CallingThreadDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
 }
Example #39
0
 /// <summary>
 /// INTERNAL API
 /// 
 /// Used when a plugin like Akka.Persistence needs to be able to load dispatcher configurations to the chain.
 /// </summary>
 internal void ReloadPrerequisites(IDispatcherPrerequisites prerequisites)
 {
     Prerequisites = prerequisites;
     _cachingConfig = new CachingConfig(prerequisites.Settings.Config);
 }
Example #40
0
 public TaskDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
     _instance = new TaskDispatcher(this);
 }
 /// <summary>
 /// TBD
 /// </summary>
 /// <param name="config">TBD</param>
 /// <param name="prerequisites">TBD</param>
 public CallingThreadDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
 }
Example #42
0
 public MessageDispatcherInterceptorConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
 {
     _instance = new MessageDispatcherInterceptor(this,
         config.GetString("id"),
         config.GetInt("throughput"),
         config.GetTimeSpan("thoughput-deadline-time").Ticks,
         ConfigureExecutor(),
         Config.GetTimeSpan("shutdown-timeout"));
 }