public async Task ReadAsync(long initialSequence, int count, Action <IPersistedRawEvent> readCallback, CancellationToken ct) { if (count == 0) { return; } var sc = StartCount.From(initialSequence, count); var events = await DB.ExecuteListAsync(CommandText_Read, r => ReadEvent(r, null), sc.Start, sc.Count); foreach (var e in events) { if (ct.IsCancellationRequested) { break; } readCallback(e); } }
public async Task ReadStreamAsync(Stream stream, int initialSequence, int count, Action <IPersistedRawEvent> readCallback, CancellationToken ct) { if (count == 0) { return; } var sc = StartCount.From(initialSequence, count); var command = DB.CreateCommand(CommandText_ReadStream, stream.Hash); var events = await DB.ExecuteListAsync(command, r => ReadEvent(r, stream), sc.Start, sc.Count); foreach (var e in events) { if (ct.IsCancellationRequested) { break; } readCallback(e); } }