API Diff between 4.13.0 and 4.7.2
63 Additions
29 Removals
DotNext.Diagnostics
DotNext.Net.Cluster
DotNext.Net.Cluster.Consensus.Raft
-
public struct EmptyLogEntry : IRaftLogEntry, ILogEntry, IDataTransferObject
-
public interface IRaftCluster : IReplicationCluster<IRaftLogEntry>, IReplicationCluster, ICluster, IPeerMesh<IClusterMember>, IPeerMesh, IPeerMesh<IRaftClusterMember>
-
public interface IRaftClusterMember : IClusterMember, IPeer
-
public class RaftCluster : RaftCluster<RaftClusterMember>, ILocalMember
-
public abstract class RaftCluster<TMember> : Disposable, IUnresponsiveClusterMemberRemovalSupport, IRaftCluster, IReplicationCluster<IRaftLogEntry>, IReplicationCluster, ICluster, IPeerMesh<IClusterMember>, IPeerMesh, IPeerMesh<IRaftClusterMember>, IStandbyModeSupport, IRaftStateMachine<TMember>, IRaftStateMachine, IAsyncDisposable where TMember : IRaftClusterMember, IDisposable
- public Func<TimeSpan, TMember, IFailureDetector> FailureDetectorFactory { get; set; }
- public ClusterMemberId& modreq(System.Runtime.InteropServices.InAttribute) LocalMemberId { get; }
- public bool Standby { get; }
- protected RaftCluster(IClusterMemberConfiguration config, ref TagList measurementTags)
- protected Task<Result<bool>> AppendEntriesAsync<TEntry>(ClusterMemberId sender, long senderTerm, ILogEntryProducer<TEntry> entries, long prevLogIndex, long prevLogTerm, long commitIndex, IClusterConfiguration config, bool applyConfig, CancellationToken token) where TEntry : IRaftLogEntry
- protected ValueTask<Result<bool>> AppendEntriesAsync<TEntry>(ClusterMemberId sender, long senderTerm, ILogEntryProducer<TEntry> entries, long prevLogIndex, long prevLogTerm, long commitIndex, IClusterConfiguration config, bool applyConfig, CancellationToken token) where TEntry : IRaftLogEntry
- protected abstract ValueTask<bool> DetectLocalMemberAsync(TMember candidate, CancellationToken token)
- public Task ForceReplicationAsync(CancellationToken token = default)
- protected Task<Result<bool>> InstallSnapshotAsync<TSnapshot>(ClusterMemberId sender, long senderTerm, TSnapshot snapshot, long snapshotIndex, CancellationToken token) where TSnapshot : IRaftLogEntry
- protected Task<Result<PreVoteResult>> PreVoteAsync(ClusterMemberId sender, long nextTerm, long lastLogIndex, long lastLogTerm, CancellationToken token)
- public ValueTask<bool> EnableStandbyModeAsync(CancellationToken token = default)
- public ValueTask ForceReplicationAsync(CancellationToken token = default)
- protected ValueTask<Result<bool>> InstallSnapshotAsync<TSnapshot>(ClusterMemberId sender, long senderTerm, TSnapshot snapshot, long snapshotIndex, CancellationToken token) where TSnapshot : IRaftLogEntry
- protected ValueTask<Result<PreVoteResult>> PreVoteAsync(ClusterMemberId sender, long nextTerm, long lastLogIndex, long lastLogTerm, CancellationToken token)
- public Task<bool> RemoveMemberAsync<TAddress>(ClusterMemberId id, IClusterConfigurationStorage<TAddress> configurationStorage, CancellationToken token = default)
- public Task<bool> ReplicateAsync<TEntry>(TEntry entry, CancellationToken token) where TEntry : IRaftLogEntry
- protected Task<bool> ResignAsync(CancellationToken token)
- protected Task<bool> RemoveMemberAsync<TAddress>(ClusterMemberId id, IClusterConfigurationStorage<TAddress> configurationStorage, Func<TMember, TAddress> addressProvider, CancellationToken token = default)
- public ValueTask<bool> ReplicateAsync<TEntry>(TEntry entry, CancellationToken token) where TEntry : IRaftLogEntry
- protected ValueTask<bool> ResignAsync(CancellationToken token)
- public ValueTask<bool> RevertToNormalModeAsync(CancellationToken token = default)
- protected Task<long?> SynchronizeAsync(long commitIndex, CancellationToken token)
- protected ValueTask<long?> SynchronizeAsync(long commitIndex, CancellationToken token)
- protected Task<Result<bool>> VoteAsync(ClusterMemberId sender, long senderTerm, long lastLogIndex, long lastLogTerm, CancellationToken token)
- protected virtual ValueTask UnavailableMemberDetected(TMember member, CancellationToken token)
- protected ValueTask<Result<bool>> VoteAsync(ClusterMemberId sender, long senderTerm, long lastLogIndex, long lastLogTerm, CancellationToken token)
DotNext.Net.Cluster.Consensus.Raft.Extensions
-
public interface IStandbyModeSupport : IRaftCluster, IReplicationCluster<IRaftLogEntry>, IReplicationCluster, ICluster, IPeerMesh<IClusterMember>, IPeerMesh, IPeerMesh<IRaftClusterMember>
-
public interface IUnresponsiveClusterMemberRemovalSupport : IRaftCluster, IReplicationCluster<IRaftLogEntry>, IReplicationCluster, ICluster, IPeerMesh<IClusterMember>, IPeerMesh, IPeerMesh<IRaftClusterMember>
DotNext.Net.Cluster.Consensus.Raft.Membership
-
public struct ClusterConfigurationEvent<TAddress>
-
public abstract class ClusterConfigurationStorage<TAddress> : Disposable, IClusterConfigurationStorage<TAddress>, IClusterConfigurationStorage, IDisposable
-
public sealed delegate ClusterMemberAnnouncer<TAddress> : MulticastDelegate
- public virtual IAsyncResult BeginInvoke(ClusterMemberId id, TAddress address, CancellationToken token, AsyncCallback callback, object object)
- public virtual IAsyncResult BeginInvoke(TAddress address, IReadOnlyDictionary<string, string> metadata, CancellationToken token, AsyncCallback callback, object object)
- public virtual Task Invoke(ClusterMemberId id, TAddress address, CancellationToken token)
- public virtual Task Invoke(TAddress address, IReadOnlyDictionary<string, string> metadata, CancellationToken token)
-
public interface IClusterConfigurationStorage<TAddress> : IClusterConfigurationStorage, IDisposable
- IReadOnlyDictionary<ClusterMemberId, TAddress> ActiveConfiguration { get; }
- IReadOnlyDictionary<ClusterMemberId, TAddress> ProposedConfiguration { get; }
- ValueTask<bool> AddMemberAsync(ClusterMemberId id, TAddress address, CancellationToken token = default)
- IAsyncEnumerable<ClusterConfigurationEvent<TAddress>> PollChangesAsync(CancellationToken token = default)
- ValueTask<bool> RemoveMemberAsync(ClusterMemberId id, CancellationToken token = default)
- IReadOnlySet<TAddress> ActiveConfiguration { get; }
- IReadOnlySet<TAddress> ProposedConfiguration { get; }
- event Func<TAddress, bool, CancellationToken, ValueTask> ActiveConfigurationChanged
- ValueTask<bool> AddMemberAsync(TAddress address, CancellationToken token = default)
- ValueTask<bool> RemoveMemberAsync(TAddress address, CancellationToken token = default)
-
public abstract class InMemoryClusterConfigurationStorage<TAddress> : ClusterConfigurationStorage<TAddress>
-
public abstract class PersistentClusterConfigurationStorage<TAddress> : ClusterConfigurationStorage<TAddress>, IAsyncDisposable
DotNext.Net.Cluster.Replication