API Diff between 3.2.1 and 0.5.0
202 Additions
37 Removals
DotNext.Net.Cluster
DotNext.Net.Cluster.Consensus.Raft
-
public struct BufferedRaftLogEntry : IRaftLogEntry, ILogEntry, IDataTransferObject, IDisposable
-
public struct BufferedRaftLogEntryList : IDisposable, IReadOnlyList<BufferedRaftLogEntry>, IEnumerable<BufferedRaftLogEntry>, IEnumerable, IReadOnlyCollection<BufferedRaftLogEntry>
-
public sealed class ConsensusOnlyState : Disposable, IPersistentState, IAuditTrail<IRaftLogEntry>, IAuditTrail
-
public struct ElectionTimeout
-
public static class ElectionTimeoutExtensions
-
public struct EmptyLogEntry : IRaftLogEntry, ILogEntry, IDataTransferObject
-
public interface IClusterMemberConfiguration
-
public interface ILogEntry : IMessage
-
public sealed class InMemoryAuditTrail : AsyncReaderWriterLock, IPersistentState, IAuditTrail<ILogEntry>
-
public interface IPersistentState : IAuditTrail<IRaftLogEntry>, IAuditTrail
-
public interface IRaftClusterMember : IClusterMember
- Task<Result<bool>> AppendEntriesAsync(long term, IReadOnlyList<ILogEntry> entries, long prevLogIndex, long prevLogTerm, long commitIndex, CancellationToken token)
- void CancelPendingRequests()
- Task<Result<bool>> AppendEntriesAsync<TEntry, TList>(long term, TList entries, long prevLogIndex, long prevLogTerm, long commitIndex, CancellationToken token) where TEntry : IRaftLogEntry where TList : IReadOnlyList<TEntry>
- ValueTask CancelPendingRequestsAsync()
- Task<Result<bool>> InstallSnapshotAsync(long term, IRaftLogEntry snapshot, long snapshotIndex, CancellationToken token)
- Task<Result<bool>> PreVoteAsync(long term, long lastLogIndex, long lastLogTerm, CancellationToken token)
-
public interface IRaftLogEntry : ILogEntry, IDataTransferObject
-
public struct JsonLogEntry<T> : IRaftLogEntry, ILogEntry, IDataTransferObject
-
public class PersistentState : Disposable, IPersistentState, IAuditTrail<IRaftLogEntry>, IAuditTrail, IAsyncDisposable
- public enum CompactionMode
- public enum LogEntryCacheEvictionPolicy
- public sealed class MissingPartitionException : IntegrityException
- public class Options : IBufferManagerSettings, IAsyncLockSettings
- protected abstract class SnapshotBuilder : Disposable, IRaftLogEntry, ILogEntry, IDataTransferObject
- public struct WriteLockToken : IDisposable
- protected Memory<byte> Buffer { get; }
- public long CompactionCount { get; }
- public bool IsBackgroundCompaction { get; }
- public long Term { get; }
- public PersistentState(DirectoryInfo path, int recordsPerPartition, Options configuration = null)
- public PersistentState(string path, int recordsPerPartition, Options configuration = null)
- public static Task RestoreFromBackupAsync(Stream backup, DirectoryInfo destination, CancellationToken token = default)
- public Task<WriteLockToken> AcquireWriteLockAsync(TimeSpan timeout, CancellationToken token = default)
- public Task<WriteLockToken> AcquireWriteLockAsync(CancellationToken token)
- public Task<bool> AppendAndEnsureCommitAsync<TEntry>(TEntry entry, TimeSpan timeout, bool addToCache = false, CancellationToken token = default) where TEntry : IRaftLogEntry
- public ValueTask AppendAsync<TEntry>(ref WriteLockToken writeLock, TEntry entry, long startIndex) where TEntry : IRaftLogEntry
- public ValueTask AppendAsync<TEntry>(TEntry entry, long startIndex, CancellationToken token = default) where TEntry : IRaftLogEntry
- public ValueTask<long> AppendAsync<TEntry>(ref WriteLockToken writeLock, TEntry entry, bool flush = true, CancellationToken token = default) where TEntry : IRaftLogEntry
- public ValueTask<long> AppendAsync<TEntry>(TEntry entry, CancellationToken token = default) where TEntry : IRaftLogEntry
- public ValueTask<long> AppendAsync<TEntry>(TEntry entry, bool addToCache, CancellationToken token = default) where TEntry : IRaftLogEntry
- public ValueTask<long> AppendAsync<TEntry>(ILogEntryProducer<TEntry> entries, CancellationToken token = default) where TEntry : IRaftLogEntry
- protected virtual ValueTask ApplyAsync(LogEntry entry)
- public ValueTask<long> CommitAsync(long endIndex, CancellationToken token)
- public ValueTask<long> CommitAsync(CancellationToken token)
- public Task CreateBackupAsync(Stream output, CancellationToken token = default)
- public JsonLogEntry<T> CreateJsonLogEntry<T>(T content, string typeId = null, JsonSerializerOptions options = null)
- protected virtual SnapshotBuilder CreateSnapshotBuilder()
- public ValueTask DisposeAsync()
- public ValueTask<long> DropAsync(long startIndex, bool reuseSpace = false, CancellationToken token = default)
- public Task EnsureConsistencyAsync(TimeSpan timeout, CancellationToken token)
- protected virtual ValueTask FlushAsync()
- public ValueTask ForceCompactionAsync(long count, CancellationToken token)
- public long GetLastIndex(bool committed)
- public Task InitializeAsync(CancellationToken token = default)
- public ValueTask<TResult> ReadAsync<TResult>(LogEntryConsumer<IRaftLogEntry, TResult> reader, long startIndex, long endIndex, CancellationToken token = default)
- public ValueTask<TResult> ReadAsync<TResult>(LogEntryConsumer<IRaftLogEntry, TResult> reader, long startIndex, CancellationToken token = default)
- public Task ReplayAsync(CancellationToken token = default)
- public bool Validate(ref WriteLockToken token)
- public Task<bool> WaitForCommitAsync(TimeSpan timeout, CancellationToken token)
- public Task<bool> WaitForCommitAsync(long index, TimeSpan timeout, CancellationToken token)
-
public class RaftCluster : RaftCluster<RaftClusterMember>, ILocalMember
-
public abstract class RaftCluster<TMember> : Disposable, IRaftCluster, IReplicationCluster<IRaftLogEntry>, IReplicationCluster, ICluster, IRaftStateMachine, IAsyncDisposable where TMember : IRaftClusterMember, IDisposable
- protected struct MemberCollectionBuilder<TMember> where TMember : IRaftClusterMember, IDisposable
- protected sealed delegate MemberCollectionMutator<TMember, T> : MulticastDelegate where TMember : IRaftClusterMember, IDisposable
- protected struct MutableMemberCollection<TMember> where TMember : IRaftClusterMember, IDisposable
- public TimeSpan ElectionTimeout { get; }
- protected RaftCluster(IClusterMemberConfiguration config, out MutableMemberCollection members)
- public event ReplicationCompletedEventHandler ReplicationCompleted
- protected RaftCluster(IClusterMemberConfiguration config, out MemberCollectionBuilder members)
- protected Task ChangeMembersAsync<T>(MemberCollectionMutator<TMember, T> mutator, T arg, CancellationToken token)
- protected Task ChangeMembersAsync(MemberCollectionMutator<TMember> mutator, CancellationToken token)
- public ValueTask DisposeAsync()
- protected Task<Result<bool>> ReceiveEntries(TMember sender, long senderTerm, IReadOnlyList<ILogEntry> entries, long prevLogIndex, long prevLogTerm, long commitIndex)
- protected Task<bool> ReceiveResign()
- protected Task<Result<bool>> ReceiveVote(TMember sender, long senderTerm, long lastLogIndex, long lastLogTerm)
- protected TMember FindMember<TArg>(Func<TMember, TArg, bool> criteria, TArg arg)
- protected ValueTask<TMember> FindMemberAsync(Func<TMember, CancellationToken, ValueTask<bool>> criteria, CancellationToken token)
- public Task<bool> ForceReplicationAsync(TimeSpan timeout, CancellationToken token = default)
- protected Task<Result<bool>> ReceiveEntriesAsync<TEntry>(TMember sender, long senderTerm, ILogEntryProducer<TEntry> entries, long prevLogIndex, long prevLogTerm, long commitIndex, CancellationToken token) where TEntry : IRaftLogEntry
- protected Task<Result<bool>> ReceivePreVoteAsync(long nextTerm, long lastLogIndex, long lastLogTerm, CancellationToken token)
- protected Task<bool> ReceiveResignAsync(CancellationToken token)
- protected Task<Result<bool>> ReceiveSnapshotAsync<TSnapshot>(TMember sender, long senderTerm, TSnapshot snapshot, long snapshotIndex, CancellationToken token) where TSnapshot : IRaftLogEntry
- protected Task<Result<bool>> ReceiveVoteAsync(TMember sender, long senderTerm, long lastLogIndex, long lastLogTerm, CancellationToken token)
- public ValueTask TurnIntoRegularNodeAsync(CancellationToken token)
-
public abstract class RaftClusterMember : Disposable, IRaftClusterMember, IClusterMember
-
public class RaftLogEntriesBufferingOptions : RaftLogEntryBufferingOptions
-
public class RaftLogEntryBufferingOptions
DotNext.Net.Cluster.Consensus.Raft.Commands
DotNext.Net.Cluster.Consensus.Raft.Metrics
DotNext.Net.Cluster.Messaging
-
public class BinaryMessage : BinaryTransferObject, IMessage, IDataTransferObject
-
public interface IAddressee : IClusterMember, IEquatable<IClusterMember>
-
public class BinaryMessage<T> : BinaryTransferObject<T>, IMessage, IDataTransferObject where T : ValueType modreq(System.Runtime.InteropServices.UnmanagedType)
-
public interface IInputChannel
-
public interface IMessage : IDataTransferObject
-
public interface IMessageBus : ICluster
-
public interface IOutputChannel
-
public interface ISubscriber : IClusterMember, IOutputChannel
-
public sealed class JsonMessage<T> : IMessage, IDataTransferObject
-
public sealed delegate MessageReader<T> : MulticastDelegate
-
public static class Messenger
- public static Task<string> ReadAsTextAsync(this IMessage message)
- public static Task<string> ReadAsTextAsync(this IMessage message, CancellationToken token = default)
- public static Task<TResponse> SendTextMessageAsync<TResponse>(this IAddressee messenger, MessageReader<TResponse> responseReader, string messageName, string text, string mediaType = null, CancellationToken token = default)
- public static Task SendTextSignalAsync(this IAddressee messenger, string messageName, string text, bool requiresConfirmation = true, string mediaType = null, CancellationToken token = default)
- public static Task<TResponse> SendJsonMessageAsync<TRequest, TResponse>(this ISubscriber messenger, MessageReader<TResponse> responseReader, string messageName, TRequest request, CancellationToken token)
- public static Task SendJsonSignalAsync<TSignal>(this ISubscriber messenger, string messageName, TSignal signal, bool requiresConfirmation = true, CancellationToken token = default)
- public static Task<TResponse> SendTextMessageAsync<TResponse>(this ISubscriber messenger, MessageReader<TResponse> responseReader, string messageName, string text, string mediaType = null, CancellationToken token = default)
- public static Task SendTextSignalAsync(this ISubscriber messenger, string messageName, string text, bool requiresConfirmation = true, string mediaType = null, CancellationToken token = default)
-
public class StreamMessage : StreamTransferObject, IDisposableMessage, IMessage, IDataTransferObject, IDisposable, IAsyncDisposable
DotNext.Net.Cluster.Replication
DotNext.Net.Security
DotNext.Runtime.Serialization