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));
        }