Skip to content

Commit

Permalink
Merge pull request #173 from nblumhardt/batched-count-fix
Browse files Browse the repository at this point in the history
Respect --count parameter when returning paged result sets through seqcli search
  • Loading branch information
nblumhardt authored Feb 12, 2021
2 parents 796a127 + 90e6939 commit 2ff1669
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions src/SeqCli/Cli/Commands/SearchCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,29 +73,32 @@ protected override async Task<int> Run()
if (!string.IsNullOrWhiteSpace(_filter))
filter = (await connection.Expressions.ToStrictAsync(_filter)).StrictExpression;

string lastReadEventId = null;
string nextPageAfterId = null;
var remaining = _count;
while (remaining > 0)
{
var resultSet = await connection.Events.InSignalAsync(
var page = await connection.Events.InSignalAsync(
null,
_signal.Signal,
filter: filter,
count: remaining,
fromDateUtc: _range.Start,
toDateUtc: _range.End,
afterId: lastReadEventId);
afterId: nextPageAfterId);

foreach (var evt in resultSet.Events)
nextPageAfterId = page.Statistics.LastReadEventId;

foreach (var evt in page.Events)
{
remaining++;
output.Write(ToSerilogEvent(evt));
remaining--;

if (remaining == 0)
break;
}

if (resultSet.Statistics.Status != ResultSetStatus.Partial)
if (page.Statistics.Status != ResultSetStatus.Partial)
break;

lastReadEventId = resultSet.Statistics.LastReadEventId;
}
}

Expand Down

0 comments on commit 2ff1669

Please sign in to comment.