本文整理汇总了C#中Akka.Configuration.Config.GetTimeSpan方法的典型用法代码示例。如果您正苦于以下问题:C# Config.GetTimeSpan方法的具体用法?C# Config.GetTimeSpan怎么用?C# Config.GetTimeSpan使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Akka.Configuration.Config
的用法示例。
在下文中一共展示了Config.GetTimeSpan方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Create
/// <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"));
}
示例2: PhiAccrualFailureDetector
/// <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);
}
示例3: ClusterSettings
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);
}
示例4: Create
/// <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"));
}
示例5: Create
/// <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);
}
示例6: GetSafeDeadlockTimeout
internal static TimeSpan? GetSafeDeadlockTimeout(Config cfg)
{
var timespan = cfg.GetTimeSpan("deadlock-timeout", TimeSpan.FromSeconds(-1));
if (timespan.TotalSeconds < 0)
return null;
return timespan;
}
示例7: ClusterSettings
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");
}
示例8: RemoteSettings
public RemoteSettings(Config config)
{
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")) 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");
InitialSysMsgDeliveryTimeout = config.GetTimeSpan("akka.remote.initial-system-message-delivery-timeout");
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");
}
示例9: Create
public static ClusterSingletonManagerSettings Create(Config config)
{
return new ClusterSingletonManagerSettings(
singletonName: config.GetString("singleton-name"),
role: RoleOption(config.GetString("role")),
removalMargin: TimeSpan.Zero, // defaults to ClusterSettins.DownRemovalMargin
handOverRetryInterval: config.GetTimeSpan("hand-over-retry-interval"));
}
示例10: SnapshotStoreSettings
public SnapshotStoreSettings(Config config)
{
if (config == null) throw new ArgumentNullException("config", "SqlServer snapshot store settings cannot be initialized, because required HOCON section couldn't been found");
ConnectionString = config.GetString("connection-string");
ConnectionTimeout = config.GetTimeSpan("connection-timeout");
SchemaName = config.GetString("schema-name");
TableName = config.GetString("table-name");
}
示例11: Create
public static ClusterSingletonManagerSettings Create(Config config)
{
var role = config.GetString("role");
if (role == string.Empty) role = null;
return new ClusterSingletonManagerSettings(
singletonName: config.GetString("singleton-name"),
role: role,
removalMargin: TimeSpan.MinValue,
handOverRetryInterval: config.GetTimeSpan("hand-over-retry-interval"));
}
示例12: Create
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"));
}
示例13: JournalSettings
public JournalSettings(Config config)
{
if (config == null) throw new ArgumentNullException("config", "SqlServer journal settings cannot be initialized, because required HOCON section couldn't been found");
ConnectionString = config.GetString("connection-string");
ConnectionStringName = config.GetString("connection-string-name");
ConnectionTimeout = config.GetTimeSpan("connection-timeout");
SchemaName = config.GetString("schema-name");
TableName = config.GetString("table-name");
TimestampProvider = config.GetString("timestamp-provider");
}
示例14: DispatcherConfigurator
/// <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"));
}
示例15: TailChoppingPool
/// <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"))
{
}