public void Publishing_state_supports_asynch_mode() { var host = Guid.NewGuid().ToString(); const string serviceNameRoot = "TcpClientAsync#"; Guid.NewGuid().ToString(); IEnumerable<EventRecord> results; var states = from idx in Enumerable.Range(1, 1000) let state = new EventRecord(host: host, service: serviceNameRoot + idx, state: "ok", metric: idx, timeToLiveInSeconds: 10) group state by idx%10 into batches select batches; var tasks = states.Select(s => new CompositeClient(maxDatagramSize: 0).SendAsync(s.ToArray())).ToArray(); Task.WaitAll(tasks); using (var client = new CompositeClient()) { var query = string.Format("service=~ \"{0}%\"", serviceNameRoot); results = client.QueryAsync(query).Result.ToList(); } Assert.That(results.Count(), Is.EqualTo(1000)); }