Пример #1
0
        public static async Task EmptyLogEntry()
        {
            IPersistentState auditTrail = new ConsensusOnlyState();
            await auditTrail.AppendAsync(new EmptyLogEntry(10));

            Equal(1, auditTrail.GetLastIndex(false));
            await auditTrail.CommitAsync(1L);

            Equal(1, auditTrail.GetLastIndex(true));
            Func <IReadOnlyList <IRaftLogEntry>, long?, CancellationToken, ValueTask <Missing> > checker = static (entries, snapshotIndex, token) =>
Пример #2
0
        public static async Task EmptyLogEntry()
        {
            IPersistentState auditTrail = new ConsensusOnlyState();
            await auditTrail.AppendAsync(new EmptyEntry(10));

            Equal(1, auditTrail.GetLastIndex(false));
            await auditTrail.CommitAsync(1L);

            Equal(1, auditTrail.GetLastIndex(true));
            Func <IReadOnlyList <IRaftLogEntry>, long?, ValueTask> checker = (entries, snapshotIndex) =>
            {
                Equal(1, snapshotIndex);
                Equal(10, entries[0].Term);
                Equal(0, entries[0].Length);
                True(entries[0].IsReusable);
                True(entries[0].IsSnapshot);
                return(new ValueTask());
            };
            await auditTrail.ReadAsync <TestReader, DBNull>(checker, 1L);
        }