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.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: DotNext.Net.Cluster.Consensus.Raft
Assembly: DotNext.Net.Cluster.dll
Syntax
public abstract class RaftCluster.NodeConfiguration : IClusterMemberConfiguration

Properties

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; init; }
Property Value
Type Description
bool
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; init; }
Property Value
Type Description
ClusterMemberAnnouncer<EndPoint>
View Source

ColdStart

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

Declaration
public bool ColdStart { get; init; }
Property Value
Type Description
bool
View Source

ConfigurationStorage

Gets or sets the storage for cluster configuration.

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

null value means in-memory configuration storage.

View Source

HeartbeatThreshold

Gets or sets threshold of the heartbeat timeout.

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

The threshold should be in range (0, 1). The heartbeat timeout is computed as LowerElectionTimeout timeout multiplied by threshold. The default is 0.5.

Exceptions
Type Condition
ArgumentOutOfRangeException

Attempts to set invalid value.

View Source

HostEndPoint

Gets the address used for hosting local member.

Declaration
protected abstract EndPoint HostEndPoint { get; }
Property Value
Type Description
EndPoint
View Source

IsLeaderLeaseEnabled

Gets a value indicating that the lease-based linearizable read is enabled on the leader node.

Declaration
public bool IsLeaderLeaseEnabled { get; init; }
Property Value
Type Description
bool
View Source

LoggerFactory

Gets or sets logger factory using for internal logging.

Declaration
[CLSCompliant(false)]
public ILoggerFactory LoggerFactory { get; init; }
Property Value
Type Description
ILoggerFactory
View Source

LowerElectionTimeout

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

Declaration
public int LowerElectionTimeout { get; init; }
Property Value
Type Description
int
View Source

MaxReplicationLag

Gets a value representing the maximum number of replication steps allowed for the follower to be behind the leader.

Declaration
public int MaxReplicationLag { get; init; }
Property Value
Type Description
int
View Source

MemoryAllocator

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

Declaration
public MemoryAllocator<byte> MemoryAllocator { get; init; }
Property Value
Type Description
MemoryAllocator<byte>
View Source

Metadata

Gets metadata associated with local cluster member.

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

PublicEndPoint

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

Declaration
public EndPoint PublicEndPoint { get; init; }
Property Value
Type Description
EndPoint
View Source

RequestTimeout

Gets or sets request processing timeout.

Declaration
public TimeSpan RequestTimeout { get; init; }
Property Value
Type Description
TimeSpan
View Source

Standby

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

Declaration
public bool Standby { get; init; }
Property Value
Type Description
bool
View Source

UpperElectionTimeout

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

Declaration
public int UpperElectionTimeout { get; init; }
Property Value
Type Description
int
View Source

WarmupRounds

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

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

Implements

IClusterMemberConfiguration

Extension Methods

BasicExtensions.As<T>(T)
BasicExtensions.IsBetween<T, TLowerBound, TUpperBound>(T, TLowerBound, TUpperBound)
BasicExtensions.IsOneOf<T>(T, params ReadOnlySpan<T>)
  • View Source
☀
☾
In this article
Back to top
Supported by the .NET Foundation
☀
☾