INNER CODE UNIT · C#
RunCountryStatusScanAsync
ZoneTree/ZoneTree · benchmarks/zonetree-scan-lab/Program.cs:297
public Task RunCountryStatusScanAsync(CountryStatusQuery[] queries) =>
ScanExecution.RunPartitionedAsync(
"scan country/status",
queries.Length,
config.Parallelism,
(start, count, checksum) =>
{
if (config.ReuseIterator)
{
using var iterator = CreateStringIndexIterator(CountryStatusIndex!);
for (var i = start; i < start + count; i++)
{
var query = queries[i];
var prefix = ProfileKeys.CountryStatusPrefix(query.Country, query.Status);
ScanStringIndexValues(
iterator,
prefix,
key => key.StartsWith(prefix, StringComparison.Ordinal),