Show / Hide Table of Contents

Interface IStandbyModeSupport

Provides support of Standby state in addition to standard cluster member states defined in Raft (follower, candidate, leader).

Inherited Members
IRaftCluster.LocalAddressMeterAttributeName
IRaftCluster.Term
IRaftCluster.ElectionTimeout
IRaftCluster.Members
IRaftCluster.AuditTrail
IRaftCluster.TryGetLeaseToken(out CancellationToken)
IRaftCluster.LeadershipToken
IRaftCluster.ConsensusToken
IRaftCluster.Readiness
IRaftCluster.ApplyReadBarrierAsync(CancellationToken)
IRaftCluster.WaitForLeadershipAsync(TimeSpan, CancellationToken)
IReplicationCluster<IRaftLogEntry>.ReplicateAsync<TEntryImpl>(TEntryImpl, CancellationToken)
IReplicationCluster.ForceReplicationAsync(CancellationToken)
IReplicationCluster.ReplicationCompleted
ICluster.Leader
ICluster.WaitForLeaderAsync(TimeSpan, CancellationToken)
ICluster.LeaderChanged
ICluster.ResignAsync(CancellationToken)
IPeerMesh<IClusterMember>.TryGetPeer(EndPoint)
IPeerMesh.Peers
IPeerMesh.PeerDiscovered
IPeerMesh.PeerGone
Namespace: DotNext.Net.Cluster.Consensus.Raft.Extensions
Assembly: DotNext.Net.Cluster.dll
Syntax
public interface IStandbyModeSupport : IRaftCluster, IReplicationCluster<IRaftLogEntry>, IReplicationCluster, ICluster, IPeerMesh<IClusterMember>, IPeerMesh<IRaftClusterMember>, IPeerMesh

Properties

| Edit this page View Source

Standby

Gets a value indicating that the local member cannot be elected as cluster leader.

Declaration
bool Standby { get; }
Property Value
Type Description
bool

Methods

| Edit this page View Source

EnableStandbyModeAsync(CancellationToken)

Suspends any transition over Raft states.

Declaration
ValueTask<bool> EnableStandbyModeAsync(CancellationToken token = default)
Parameters
Type Name Description
CancellationToken token

The token that can be used to cancel the operation.

Returns
Type Description
ValueTask<bool>

true if any further state transitions are suspended successfully because the local member is in Follower state; false if operation fails because state transition is already suspended or the local member is not in Follower state.

Remarks

This method completes successfully only if the local member is in Follower state.

Exceptions
Type Condition
ObjectDisposedException

This object has been disposed.

| Edit this page View Source

RevertToNormalModeAsync(CancellationToken)

Turns this node into the regular state when the node can be elected as leader.

Declaration
ValueTask<bool> RevertToNormalModeAsync(CancellationToken token = default)
Parameters
Type Name Description
CancellationToken token

The token that can be used to cancel the operation.

Returns
Type Description
ValueTask<bool>

true if state transition is resumed successfully; false if state transition was not suspended.

Exceptions
Type Condition
ObjectDisposedException

This object has been disposed.

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)
RaftClusterExtensions.ReplicateAsync(IRaftCluster, ReadOnlyMemory<byte>, object?, CancellationToken)
RaftClusterExtensions.ReplicateAsync<T>(IRaftCluster, T, object?, CancellationToken)
RaftClusterExtensions.ReplicateJsonAsync<T>(IRaftCluster, T, object?, CancellationToken)
  • Edit this page
  • View Source
☀
☾
In this article
Back to top
Supported by the .NET Foundation
☀
☾