public static async Task Main()

in http/get_simple/csharp/server/ArrowHttpServer.cs [77:117]


        public static async Task Main(string[] args)
        {
            string serverUri = "http://*:8008/";

            HttpListener listener = new HttpListener();
            listener.Prefixes.Add(serverUri);
            listener.Start();

            Console.Write("Generating data... ");
            var batches = GenerateBatches();
            Console.WriteLine("done.");

            while (true)
            {
                Console.Write("Waiting... ");
                var context = await listener.GetContextAsync();
                Console.WriteLine("client connected");
                DateTime startTime = DateTime.UtcNow;

                context.Response.SendChunked = true;
                context.Response.StatusCode = (int)HttpStatusCode.OK;
                context.Response.ContentType = "application/vnd.apache.arrow.stream";

                int numRows = 0;
                using (context.Response.OutputStream)
                using (var writer = new ArrowStreamWriter(context.Response.OutputStream, schema))
                {
                    foreach (RecordBatch batch in batches)
                    {
                        await writer.WriteRecordBatchAsync(batch);
                        numRows += batch.Length;
                    }
                }
                DateTime endTime = DateTime.UtcNow;
                
                Console.WriteLine("Done");
                Console.WriteLine($"{numRows} records sent");
                Console.WriteLine($"{batches.Count} record batches sent");
                Console.WriteLine($"{(endTime - startTime).TotalSeconds} seconds elapsed");
            }
        }