Show / Hide Table of Contents

Class RaftCluster.NodeConfiguration

Represents transport-agnostic configuration of cluster member.

Inheritance
object
RaftCluster.NodeConfiguration
RaftCluster.BuiltInTransportConfiguration
RaftCluster.CustomTransportConfiguration
Implements
IClusterMemberConfiguration
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: DotNext.Net.Cluster.Consensus.Raft
Assembly: DotNext.Net.Cluster.dll
Syntax
public abstract class RaftCluster.NodeConfiguration : IClusterMemberConfiguration

Properties

| Edit this page View Source

AggressiveLeaderStickiness

Gets a value indicating that the follower node should not try to upgrade to the candidate state if the leader is reachable via the network.

Declaration
public bool AggressiveLeaderStickiness { get; set; }
Property Value
Type Description
bool
| Edit this page View Source

Announcer

Gets or sets the delegate that can be used to announce the node to the cluster if ColdStart is false.

Declaration
public ClusterMemberAnnouncer<EndPoint>? Announcer { get; set; }
Property Value
Type Description
ClusterMemberAnnouncer<EndPoint>
| Edit this page View Source

ColdStart

Gets or sets a value indicating that the initial node in the cluster is starting.

Declaration
public bool ColdStart { get; set; }
Property Value
Type Description
bool
| Edit this page View Source

ConfigurationStorage

Gets or sets the storage for cluster configuration.

Declaration
public IClusterConfigurationStorage<EndPoint>? ConfigurationStorage { get; set; }
Property Value
Type Description
IClusterConfigurationStorage<EndPoint>
Remarks

If not set then use in-memory storage by default.

| Edit this page View Source

HeartbeatThreshold

Gets or sets threshold of the heartbeat timeout.

Declaration
public double HeartbeatThreshold { get; set; }
Property Value
Type Description
double
Remarks

The threshold should be in range (0, 1). The heartbeat timeout is computed as node election timeout X threshold. The default is 0.5.

Exceptions
Type Condition
ArgumentOutOfRangeException

Attempts to set invalid value.

| Edit this page View Source

HostEndPoint

Gets the address used for hosting local member.

Declaration
public abstract EndPoint HostEndPoint { get; }
Property Value
Type Description
EndPoint
| Edit this page View Source

LoggerFactory

Gets or sets logger factory using for internal logging.

Declaration
[CLSCompliant(false)]
public ILoggerFactory LoggerFactory { get; set; }
Property Value
Type Description
ILoggerFactory
| Edit this page View Source

LowerElectionTimeout

Gets lower possible value of leader election timeout, in milliseconds.

Declaration
public int LowerElectionTimeout { get; set; }
Property Value
Type Description
int
| Edit this page View Source

MemoryAllocator

Gets or sets memory allocator to be used for network I/O.

Declaration
public MemoryAllocator<byte> MemoryAllocator { get; set; }
Property Value
Type Description
MemoryAllocator<byte>
| Edit this page View Source

Metadata

Gets metadata associated with local cluster member.

Declaration
public IDictionary<string, string> Metadata { get; }
Property Value
Type Description
IDictionary<string, string>
| Edit this page View Source

PublicEndPoint

Gets the address of the local member visible to other members.

Declaration
public EndPoint PublicEndPoint { get; set; }
Property Value
Type Description
EndPoint
| Edit this page View Source

RequestTimeout

Gets or sets request processing timeout.

Declaration
public TimeSpan RequestTimeout { get; set; }
Property Value
Type Description
TimeSpan
| Edit this page View Source

Standby

Gets or sets a value indicating that the cluster member represents standby node which is never become a leader.

Declaration
public bool Standby { get; set; }
Property Value
Type Description
bool
| Edit this page View Source

UpperElectionTimeout

Gets upper possible value of leader election timeout, in milliseconds.

Declaration
public int UpperElectionTimeout { get; set; }
Property Value
Type Description
int
| Edit this page View Source

WarmupRounds

Gets or sets the numbers of rounds used to warmup a fresh node which wants to join the cluster.

Declaration
public int WarmupRounds { get; set; }
Property Value
Type Description
int

Methods

| Edit this page View Source

UseInMemoryConfigurationStorage()

Sets ConfigurationStorage to in-memory configuration storage.

Declaration
public InMemoryClusterConfigurationStorage<EndPoint> UseInMemoryConfigurationStorage()
Returns
Type Description
InMemoryClusterConfigurationStorage<EndPoint>

The constructed storage.

Remarks

This storage is not recommended for production use.

Implements

IClusterMemberConfiguration

Extension Methods

BasicExtensions.As<T>(T)
BasicExtensions.GetUserData<T>(T)
BasicExtensions.IsBetween<T, TLowerBound, TUpperBound>(T, TLowerBound, TUpperBound)
BasicExtensions.IsOneOf<T>(T, ReadOnlySpan<T>)
ExpressionBuilder.Const<T>(T)
AsyncLockAcquisition.AcquireLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireLockAsync<T>(T, TimeSpan, CancellationToken)
AsyncLockAcquisition.AcquireReadLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireReadLockAsync<T>(T, TimeSpan, CancellationToken)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, bool, CancellationToken)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, bool, TimeSpan, CancellationToken)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, TimeSpan, CancellationToken)
LockAcquisition.AcquireReadLock<T>(T)
LockAcquisition.AcquireReadLock<T>(T, TimeSpan)
LockAcquisition.AcquireUpgradeableReadLock<T>(T)
LockAcquisition.AcquireUpgradeableReadLock<T>(T, TimeSpan)
LockAcquisition.AcquireWriteLock<T>(T)
LockAcquisition.AcquireWriteLock<T>(T, TimeSpan)
  • Edit this page
  • View Source
☀
☾
In this article
Back to top
Supported by the .NET Foundation
☀
☾