async Task Run(IEnv env) { _expectedCount = 0M; var endpoints = Servers.Select(m => new SimEndpoint(m, Port)).ToArray(); var lib = new BackendClient(env, endpoints); await lib.AddItem(0, 1); _expectedCount = 1M; for (int i = 0; i < Iterations; i++) { try { var curr = i % RingSize; var next = (i + 1) % RingSize; await lib.MoveItem(curr, next, 1); await env.Delay(Delay); } catch (ArgumentException ex) { env.Error("Unexpected error", ex); } } _actualCount = await lib.Count(); if (HaltOnCompletion) { env.Halt("DONE"); } }