public GetInt ( string path, int @default ) : int | ||
path | string | The path that contains the value to retrieve. |
@default | int | |
return | int |
public UserWorker(ClusterNodeContext context, Config config) { _context = context; _channelType = (ChannelType)Enum.Parse(typeof(ChannelType), config.GetString("type", "Tcp"), true); _listenEndPoint = new IPEndPoint(IPAddress.Any, config.GetInt("port", 0)); var connectAddress = config.GetString("connect-address"); var connectPort = config.GetInt("connect-port", _listenEndPoint.Port); _connectEndPoint = new IPEndPoint(connectAddress != null ? IPAddress.Parse(connectAddress) : IPAddress.Loopback, connectPort); }
public RemoteSettings(Config config) { //TODO: need to add value validation for each field Config = config; LogReceive = config.GetBoolean("akka.remote.log-received-messages"); LogSend = config.GetBoolean("akka.remote.log-sent-messages"); var bufferSizeLogKey = "akka.remote.log-buffer-size-exceeding"; if (config.GetString(bufferSizeLogKey).ToLowerInvariant().Equals("off") || config.GetString(bufferSizeLogKey).ToLowerInvariant().Equals("false")) { LogBufferSizeExceeding = Int32.MaxValue; } else { LogBufferSizeExceeding = config.GetInt(bufferSizeLogKey); } UntrustedMode = config.GetBoolean("akka.remote.untrusted-mode"); TrustedSelectionPaths = new HashSet<string>(config.GetStringList("akka.remote.trusted-selection-paths")); RemoteLifecycleEventsLogLevel = config.GetString("akka.remote.log-remote-lifecycle-events") ?? "DEBUG"; Dispatcher = config.GetString("akka.remote.use-dispatcher"); if (RemoteLifecycleEventsLogLevel.Equals("on", StringComparison.OrdinalIgnoreCase)) RemoteLifecycleEventsLogLevel = "DEBUG"; FlushWait = config.GetTimeSpan("akka.remote.flush-wait-on-shutdown"); ShutdownTimeout = config.GetTimeSpan("akka.remote.shutdown-timeout"); TransportNames = config.GetStringList("akka.remote.enabled-transports"); Transports = (from transportName in TransportNames let transportConfig = TransportConfigFor(transportName) select new TransportSettings(transportConfig)).ToArray(); Adapters = ConfigToMap(config.GetConfig("akka.remote.adapters")); BackoffPeriod = config.GetTimeSpan("akka.remote.backoff-interval"); RetryGateClosedFor = config.GetTimeSpan("akka.remote.retry-gate-closed-for", TimeSpan.Zero); UsePassiveConnections = config.GetBoolean("akka.remote.use-passive-connections"); SysMsgBufferSize = config.GetInt("akka.remote.system-message-buffer-size"); SysResendTimeout = config.GetTimeSpan("akka.remote.resend-interval"); SysResendLimit = config.GetInt("akka.remote.resend-limit"); InitialSysMsgDeliveryTimeout = config.GetTimeSpan("akka.remote.initial-system-message-delivery-timeout"); QuarantineSilentSystemTimeout = config.GetTimeSpan("akka.remote.quarantine-after-silence"); SysMsgAckTimeout = config.GetTimeSpan("akka.remote.system-message-ack-piggyback-timeout"); QuarantineDuration = config.GetTimeSpan("akka.remote.prune-quarantine-marker-after"); StartupTimeout = config.GetTimeSpan("akka.remote.startup-timeout"); CommandAckTimeout = config.GetTimeSpan("akka.remote.command-ack-timeout"); WatchFailureDetectorConfig = config.GetConfig("akka.remote.watch-failure-detector"); WatchFailureDetectorImplementationClass = WatchFailureDetectorConfig.GetString("implementation-class"); WatchHeartBeatInterval = WatchFailureDetectorConfig.GetTimeSpan("heartbeat-interval"); WatchUnreachableReaperInterval = WatchFailureDetectorConfig.GetTimeSpan("unreachable-nodes-reaper-interval"); WatchHeartbeatExpectedResponseAfter = WatchFailureDetectorConfig.GetTimeSpan("expected-response-after"); }
/// <summary> /// Creates cluster publish subscribe settings from provided configuration with the same layout as `akka.cluster.pub-sub`. /// </summary> public static DistributedPubSubSettings Create(Config config) { RoutingLogic routingLogic = null; var routingLogicName = config.GetString("routing-logic"); switch (routingLogicName) { case "random": routingLogic = new RandomLogic(); break; case "round-robin": routingLogic = new RoundRobinRoutingLogic(); break; case "broadcast": routingLogic = new BroadcastRoutingLogic(); break; case "consistent-hashing": throw new ArgumentException("Consistent hashing routing logic cannot be used by the pub-sub mediator"); default: throw new ArgumentException("Unknown routing logic is tried to be applied to the pub-sub mediator: " + routingLogicName); } return new DistributedPubSubSettings( config.GetString("role"), routingLogic, config.GetTimeSpan("gossip-interval"), config.GetTimeSpan("removed-time-to-live"), config.GetInt("max-delta-elements")); }
public SessionSettings(Config config) { if (config == null) throw new ArgumentNullException("config"); Builder = Cluster.Builder(); // Get IP and port configuration int port = config.GetInt("port", 9042); IPEndPoint[] contactPoints = ParseContactPoints(config.GetStringList("contact-points"), port); Builder.AddContactPoints(contactPoints); // Support user/pass authentication if (config.HasPath("credentials")) Builder.WithCredentials(config.GetString("credentials.username"), config.GetString("credentials.password")); // Support SSL if (config.GetBoolean("ssl")) Builder.WithSSL(); // Support compression string compressionTypeConfig = config.GetString("compression"); if (compressionTypeConfig != null) { var compressionType = (CompressionType) Enum.Parse(typeof (CompressionType), compressionTypeConfig, true); Builder.WithCompression(compressionType); } }
public RemoteSettings(Config config) { Config = config; LogReceive = config.GetBoolean("akka.remote.log-received-messages"); LogSend = config.GetBoolean("akka.remote.log-sent-messages"); UntrustedMode = config.GetBoolean("akka.remote.untrusted-mode"); TrustedSelectionPaths = new HashSet<string>(config.GetStringList("akka.remote.trusted-selection-paths")); RemoteLifecycleEventsLogLevel = config.GetString("akka.remote.log-remote-lifecycle-events") ?? "DEBUG"; if (RemoteLifecycleEventsLogLevel.Equals("on")) RemoteLifecycleEventsLogLevel = "DEBUG"; FlushWait = config.GetMillisDuration("akka.remote.flush-wait-on-shutdown"); ShutdownTimeout = config.GetMillisDuration("akka.remote.shutdown-timeout"); TransportNames = config.GetStringList("akka.remote.enabled-transports"); Transports = (from transportName in TransportNames let transportConfig = TransportConfigFor(transportName) select new TransportSettings(transportConfig)).ToArray(); Adapters = ConfigToMap(config.GetConfig("akka.remote.adapters")); BackoffPeriod = config.GetMillisDuration("akka.remote.backoff-interval"); RetryGateClosedFor = config.GetMillisDuration("akka.remote.retry-gate-closed-for", TimeSpan.Zero); UsePassiveConnections = config.GetBoolean("akka.remote.use-passive-connections"); SysMsgBufferSize = config.GetInt("akka.remote.system-message-buffer-size"); SysResendTimeout = config.GetMillisDuration("akka.remote.resend-interval"); InitialSysMsgDeliveryTimeout = config.GetMillisDuration("akka.remote.initial-system-message-delivery-timeout"); SysMsgAckTimeout = config.GetMillisDuration("akka.remote.system-message-ack-piggyback-timeout"); QuarantineDuration = config.GetMillisDuration("akka.remote.prune-quarantine-marker-after"); StartupTimeout = config.GetMillisDuration("akka.remote.startup-timeout"); CommandAckTimeout = config.GetMillisDuration("akka.remote.command-ack-timeout"); }
/// <summary> /// Initializes a new instance of the <see cref="BroadcastPool"/> class. /// </summary> /// <param name="config">The configuration used to configure the pool.</param> public BroadcastPool(Config config) : this( nrOfInstances: config.GetInt("nr-of-instances"), resizer: Resizer.FromConfig(config), supervisorStrategy: Pool.DefaultSupervisorStrategy, routerDispatcher: Dispatchers.DefaultDispatcherId, usePoolDispatcher: config.HasPath("pool-dispatcher")) { }
private void CreateNotifier(Akka.Configuration.Config config) { var uiNotificationWidth = config.GetInt("ui.notification.width"); var uiNotificationLifetime = config.GetTimeSpan("ui.notification.lifetime"); var uiNotificationMax = config.GetInt("ui.notification.maximum-count"); Notifier = new Notifier(cfg => { cfg.DisplayOptions.Width = uiNotificationWidth; cfg.PositionProvider = new PrimaryScreenPositionProvider(Corner.BottomRight, 0, 0); cfg.LifetimeSupervisor = new TimeAndCountBasedLifetimeSupervisor( notificationLifetime: uiNotificationLifetime, maximumNotificationCount: MaximumNotificationCount.FromCount(uiNotificationMax)); cfg.Dispatcher = Application.Current.Dispatcher; }); }
/// <summary> /// Constructor that reads parameters from config. /// Expecting config properties named 'threshold', 'max-sample-size', /// 'min-std-deviation', 'acceptable-heartbeat-pause', and 'heartbeat-interval'. /// </summary> public PhiAccrualFailureDetector(Config config, EventStream ev) : this(DefaultClock) { _threshold = config.GetDouble("threshold"); _maxSampleSize = config.GetInt("max-sample-size"); _minStdDeviation = config.GetTimeSpan("min-std-deviation"); _acceptableHeartbeatPause = config.GetTimeSpan("acceptable-heartbeat-pause"); _firstHeartbeatEstimate = config.GetTimeSpan("heartbeat-interval"); state = new State(FirstHeartBeat, null); }
public TcpTransport(ActorSystem system, Config config) : base(system, config) { string protocol = "akka." + config.GetString("transport-protocol"); SchemeIdentifier = protocol; string host = config.GetString("hostname"); int port = config.GetInt("port"); Address = new Address(protocol, system.Name, host, port); log = Logging.GetLogger(system, this); server = new TcpServer(system, Address); }
public static ClusterSingletonProxySettings Create(Config config) { var role = config.GetString("role"); if (role == string.Empty) role = null; return new ClusterSingletonProxySettings( singletonName: config.GetString("singleton-name"), role: role, singletonIdentificationInterval: config.GetTimeSpan("singleton-identification-interval"), bufferSize: config.GetInt("buffer-size")); }
public void CanMergeObjects() { var hocon1 = @" a { b = 123 c = 456 d = 789 sub { aa = 123 } } "; var hocon2 = @" a { c = 999 e = 888 sub { bb = 456 } } "; var root1 = Parser.Parse(hocon1,null); var root2 = Parser.Parse(hocon2, null); var obj1 = root1.Value.GetObject(); var obj2 = root2.Value.GetObject(); obj1.Merge(obj2); var config = new Config(root1); Assert.AreEqual(123, config.GetInt("a.b")); Assert.AreEqual(456, config.GetInt("a.c")); Assert.AreEqual(789, config.GetInt("a.d")); Assert.AreEqual(888, config.GetInt("a.e")); Assert.AreEqual(888, config.GetInt("a.e")); Assert.AreEqual(123, config.GetInt("a.sub.aa")); Assert.AreEqual(456, config.GetInt("a.sub.bb")); }
public ClusterSettings(Config config, string systemName) { //TODO: Requiring! var cc = config.GetConfig("akka.cluster"); LogInfo = cc.GetBoolean("log-info"); _failureDetectorConfig = cc.GetConfig("failure-detector"); FailureDetectorImplementationClass = _failureDetectorConfig.GetString("implementation-class"); HeartbeatInterval = _failureDetectorConfig.GetTimeSpan("heartbeat-interval"); HeartbeatExpectedResponseAfter = _failureDetectorConfig.GetTimeSpan("expected-response-after"); MonitoredByNrOfMembers = _failureDetectorConfig.GetInt("monitored-by-nr-of-members"); SeedNodes = cc.GetStringList("seed-nodes").Select(Address.Parse).ToImmutableList(); SeedNodeTimeout = cc.GetTimeSpan("seed-node-timeout"); RetryUnsuccessfulJoinAfter = cc.GetTimeSpanWithOffSwitch("retry-unsuccessful-join-after"); PeriodicTasksInitialDelay = cc.GetTimeSpan("periodic-tasks-initial-delay"); GossipInterval = cc.GetTimeSpan("gossip-interval"); GossipTimeToLive = cc.GetTimeSpan("gossip-time-to-live"); LeaderActionsInterval = cc.GetTimeSpan("leader-actions-interval"); UnreachableNodesReaperInterval = cc.GetTimeSpan("unreachable-nodes-reaper-interval"); PublishStatsInterval = cc.GetTimeSpanWithOffSwitch("publish-stats-interval"); var key = "down-removal-margin"; DownRemovalMargin = cc.GetString(key).ToLowerInvariant().Equals("off") ? TimeSpan.Zero : cc.GetTimeSpan("down-removal-margin"); AutoDownUnreachableAfter = cc.GetTimeSpanWithOffSwitch("auto-down-unreachable-after"); Roles = cc.GetStringList("roles").ToImmutableHashSet(); MinNrOfMembers = cc.GetInt("min-nr-of-members"); //TODO: //_minNrOfMembersOfRole = cc.GetConfig("role").Root.GetArray().ToImmutableDictionary(o => o. ) _useDispatcher = cc.GetString("use-dispatcher"); if (String.IsNullOrEmpty(_useDispatcher)) _useDispatcher = Dispatchers.DefaultDispatcherId; GossipDifferentViewProbability = cc.GetDouble("gossip-different-view-probability"); ReduceGossipDifferentViewProbability = cc.GetInt("reduce-gossip-different-view-probability"); SchedulerTickDuration = cc.GetTimeSpan("scheduler.tick-duration"); SchedulerTicksPerWheel = cc.GetInt("scheduler.ticks-per-wheel"); MinNrOfMembersOfRole = cc.GetConfig("role").Root.GetObject().Items .ToImmutableDictionary(kv => kv.Key, kv => kv.Value.GetObject().GetKey("min-nr-of-members").GetInt()); VerboseHeartbeatLogging = cc.GetBoolean("debug.verbose-heartbeat-logging"); var downingProviderClassName = cc.GetString("downing-provider-class"); if (!string.IsNullOrEmpty(downingProviderClassName)) DowningProviderType = Type.GetType(downingProviderClassName, true); else if (AutoDownUnreachableAfter.HasValue) DowningProviderType = typeof(AutoDowning); else DowningProviderType = typeof(NoDowning); }
/// <summary> /// Create settings from a configuration with the same layout as the default configuration "akka.cluster.client.receptionist". /// </summary> public static ClusterReceptionistSettings Create(Config config) { var role = config.GetString("role"); if (string.IsNullOrEmpty(role)) role = null; return new ClusterReceptionistSettings( role, config.GetInt("number-of-contacts"), config.GetTimeSpan("response-tunnel-receive-timeout"), config.GetTimeSpan("heartbeat-interval"), config.GetTimeSpan("acceptable-heartbeat-pause"), config.GetTimeSpan("failure-detection-interval")); }
/// <summary> /// Java API: Create settings from a configuration with the same layout as the default configuration 'akka.cluster.client'. /// </summary> public static ClusterClientSettings Create(Config config) { var initialContacts = config.GetStringList("initial-contacts").Select(ActorPath.Parse).ToImmutableSortedSet(); TimeSpan? reconnectTimeout = config.GetString("reconnect-timeout").Equals("off") ? null : (TimeSpan?)config.GetTimeSpan("reconnect-timeout"); return new ClusterClientSettings(initialContacts, config.GetTimeSpan("establishing-get-contacts-interval"), config.GetTimeSpan("refresh-contacts-interval"), config.GetTimeSpan("heartbeat-interval"), config.GetTimeSpan("acceptable-heartbeat-pause"), config.GetInt("buffer-size"), reconnectTimeout); }
public ClusterSettings(Config config, string systemName) { //TODO: Requiring! var cc = config.GetConfig("akka.cluster"); _logInfo = cc.GetBoolean("log-info"); _failureDetectorConfig = cc.GetConfig("failure-detector"); _failureDetectorImplementationClass = _failureDetectorConfig.GetString("implementation-class"); _heartbeatInterval = _failureDetectorConfig.GetTimeSpan("heartbeat-interval"); _heartbeatExpectedResponseAfter = _failureDetectorConfig.GetTimeSpan("expected-response-after"); _monitoredByNrOfMembers = _failureDetectorConfig.GetInt("monitored-by-nr-of-members"); _seedNodes = cc.GetStringList("seed-nodes").Select(Address.Parse).ToImmutableList(); _seedNodeTimeout = cc.GetTimeSpan("seed-node-timeout"); _retryUnsuccessfulJoinAfter = cc.GetTimeSpanWithOffSwitch("retry-unsuccessful-join-after"); _periodicTasksInitialDelay = cc.GetTimeSpan("periodic-tasks-initial-delay"); _gossipInterval = cc.GetTimeSpan("gossip-interval"); _gossipTimeToLive = cc.GetTimeSpan("gossip-time-to-live"); _leaderActionsInterval = cc.GetTimeSpan("leader-actions-interval"); _unreachableNodesReaperInterval = cc.GetTimeSpan("unreachable-nodes-reaper-interval"); _publishStatsInterval = cc.GetTimeSpanWithOffSwitch("publish-stats-interval"); _downRemovalMargin = cc.GetTimeSpan("down-removal-margin"); _autoDownUnreachableAfter = cc.GetTimeSpanWithOffSwitch("auto-down-unreachable-after"); _roles = cc.GetStringList("roles").ToImmutableHashSet(); _minNrOfMembers = cc.GetInt("min-nr-of-members"); //TODO: //_minNrOfMembersOfRole = cc.GetConfig("role").Root.GetArray().ToImmutableDictionary(o => o. ) //TODO: Ignored jmx _useDispatcher = cc.GetString("use-dispatcher"); if (String.IsNullOrEmpty(_useDispatcher)) _useDispatcher = Dispatchers.DefaultDispatcherId; _gossipDifferentViewProbability = cc.GetDouble("gossip-different-view-probability"); _reduceGossipDifferentViewProbability = cc.GetInt("reduce-gossip-different-view-probability"); _schedulerTickDuration = cc.GetTimeSpan("scheduler.tick-duration"); _schedulerTicksPerWheel = cc.GetInt("scheduler.ticks-per-wheel"); _metricsEnabled = cc.GetBoolean("metrics.enabled"); _metricsCollectorClass = cc.GetString("metrics.collector-class"); _metricsInterval = cc.GetTimeSpan("metrics.collect-interval"); _metricsGossipInterval = cc.GetTimeSpan("metrics.gossip-interval"); _metricsMovingAverageHalfLife = cc.GetTimeSpan("metrics.moving-average-half-life"); _minNrOfMembersOfRole = cc.GetConfig("role").Root.GetObject().Items .ToImmutableDictionary(kv => kv.Key, kv => kv.Value.GetObject().GetKey("min-nr-of-members").GetInt()); _verboseHeartbeatLogging = cc.GetBoolean("debug.verbose-heartbeat-logging"); }
/// <summary> /// Initializes a new instance of the <see cref="ConsistentHashingPool"/> class. /// /// <note> /// 'virtual-nodes-factor' defaults to 0 (zero) if it is not defined in the provided configuration. /// </note> /// </summary> /// <param name="config">The configuration used to configure the pool.</param> public ConsistentHashingPool(Config config) : this( nrOfInstances: config.GetInt("nr-of-instances"), resizer: Resizer.FromConfig(config), supervisorStrategy: Pool.DefaultSupervisorStrategy, routerDispatcher: Dispatchers.DefaultDispatcherId, usePoolDispatcher: config.HasPath("pool-dispatcher")) { VirtualNodesFactor = config.GetInt("virtual-nodes-factor"); }
private int ComputeWps(Config config) { return ThreadPoolConfig.ScaledPoolSize(config.GetInt("pool-size-min"), config.GetDouble("pool-size-factor"), config.GetInt("pool-size-max")); }
/// <summary> /// Initializes a new instance of the <see cref="TailChoppingPool"/> class. /// <note> /// 'nr-of-instances', 'within', and 'tail-chopping-router.interval' /// must be defined in the provided configuration. /// </note> /// </summary> /// <param name="config">The configuration used to configure the pool.</param> public TailChoppingPool(Config config) : this( config.GetInt("nr-of-instances"), Resizer.FromConfig(config), Pool.DefaultSupervisorStrategy, Dispatchers.DefaultDispatcherId, config.GetTimeSpan("within"), config.GetTimeSpan("tail-chopping-router.interval"), config.HasPath("pool-dispatcher")) { }
public static ClusterRouterPoolSettings FromConfig(Config config) { return new ClusterRouterPoolSettings(config.GetInt("nr-of-instances"), config.GetBoolean("cluster.allow-local-routees"), config.GetString("cluster.use-role"), config.GetInt("cluster.max-nr-of-instances-per-node")); }
/// <summary> /// Creates cluster singleton proxy actor from config /// </summary> /// <param name="context">Current actor context (will create child actor)</param> /// <param name="actorConfig">Configuration to create from</param> /// <param name="currentPath">Parent (current) actor path</param> /// <param name="pathName">New actor's path name</param> protected virtual void CreateSingletonProxyActor( IActorContext context, Config actorConfig, string currentPath, string pathName) { var singletonName = actorConfig.GetString("singleton-name"); if (string.IsNullOrEmpty(singletonName)) { context.GetLogger() .Error( "{Type}: singleton-name was not defined for {NameSpaceName}/{PathString}", typeof(NameSpaceActor).Name, currentPath, pathName); return; } var singletonManagerPath = actorConfig.GetString("singleton-path"); if (string.IsNullOrEmpty(singletonName)) { context.GetLogger() .Error( "{Type}: singleton-path was not defined for {NameSpaceName}/{PathString}", typeof(NameSpaceActor).Name, currentPath, pathName); return; } var role = actorConfig.GetString("singleton-node-role"); if (string.IsNullOrEmpty(role)) { context.GetLogger() .Error( "{Type}: singleton-node-role was not defined for {NameSpaceName}/{PathString}", typeof(NameSpaceActor).Name, currentPath, pathName); return; } context.GetLogger() .Info( "{Type}: {NameSpaceName} initializing singleton proxy {SingletonManagerPath} / {SingletonName} for {PathString}", typeof(NameSpaceActor).Name, currentPath, singletonManagerPath, singletonName, pathName); context.ActorOf( ClusterSingletonProxy.Props( singletonManagerPath: singletonManagerPath, settings: new ClusterSingletonProxySettings( singletonName, role, actorConfig.GetTimeSpan("singleton-identification-interval", TimeSpan.FromSeconds(1), false), actorConfig.GetInt("buffer-size", 2048))), name: pathName); }
public Settings(Config config) { Port = config.GetInt("port"); Hostname = config.GetString("hostname"); }
/// <summary> /// Initializes a new instance of the <see cref="ConsistentHashingPool"/> class. /// </summary> /// <param name="config">The configuration.</param> public ConsistentHashingPool(Config config) : base(config) { VirtualNodesFactor = config.GetInt("virtual-nodes-factor", 0); }
public BoundedMessageQueue(Settings settings, Config config) : this(config.GetInt("mailbox-capacity"), config.GetTimeSpan("mailbox-push-timeout-time")) { }
/// <summary> /// Creates a new DefaultResizer from the given configuration /// </summary> /// <param name="resizerConfig"></param> private DefaultResizer(Config resizerConfig) { LowerBound = resizerConfig.GetInt("lower-bound"); UpperBound = resizerConfig.GetInt("upper-bound"); _pressureThreshold = resizerConfig.GetInt("pressure-threshold"); _rampupRate = resizerConfig.GetDouble("rampup-rate"); _backoffThreshold = resizerConfig.GetDouble("backoff-threshold"); _backoffRate = resizerConfig.GetDouble("backoff-rate"); _messagesPerResize = resizerConfig.GetInt("messages-per-resize"); Validate(); }
public static ClusterRouterGroupSettings FromConfig(Config config) { return new ClusterRouterGroupSettings(config.GetInt("nr-of-instances"), config.GetBoolean("cluster.allow-local-routees"), config.GetString("cluster.use-role"), ImmutableHashSet.Create(config.GetStringList("routees.paths").ToArray())); }
/// <summary> /// Creates an instance of the TailChoppingPool. /// </summary> /// <param name="config">The configuration to use with this instance.</param> public TailChoppingPool(Config config) : this(config.GetInt("nr-of-instances"), DefaultResizer.FromConfig(config), null, null, //TODO: what are our defaults? null? config.GetTimeSpan("within"), config.GetTimeSpan("tail-chopping-router.interval"), config.HasPath("pool-dispatcher") ) { }
public CassandraSnapshotStoreSettings(Config config) : base(config) { MaxMetadataResultSize = config.GetInt("max-metadata-result-size"); }
/// <summary> /// Initializes a new instance of the <see cref="ScatterGatherFirstCompletedPool"/> class. /// </summary> /// <param name="config"> /// The configuration to use to lookup paths used by the group router. /// /// <note> /// 'within' must be defined in the provided configuration. /// </note> /// </param> public ScatterGatherFirstCompletedPool(Config config) : this( nrOfInstances: config.GetInt("nr-of-instances"), resizer: Resizer.FromConfig(config), within: config.GetTimeSpan("within"), supervisorStrategy: Pool.DefaultSupervisorStrategy, routerDispatcher: Dispatchers.DefaultDispatcherId, usePoolDispatcher: config.HasPath("pool-dispatcher")) { }
/// <summary> /// Initializes a new instance of the <see cref="ConsistentHashingGroup"/> class. /// </summary> /// <param name="config"> /// The configuration to use to lookup paths used by the group router. /// /// <note> /// If 'routees.path' is defined in the provided configuration then those paths will be used by the router. /// 'virtual-nodes-factor' defaults to 0 (zero) if it is not defined in the provided configuration. /// </note> /// </param> public ConsistentHashingGroup(Config config) : this(config.GetStringList("routees.paths")) { VirtualNodesFactor = config.GetInt("virtual-nodes-factor", 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")); }
public SqlReadJournal(ExtendedActorSystem system, Config config) { _refershInterval = config.GetTimeSpan("refresh-interval"); _writeJournalPluginId = config.GetString("write-plugin"); _maxBufferSize = config.GetInt("max-buffer-size"); }