Example #1
0
        public async Task Run()
        {
            bool stillReading = true;

            do
            {
                NHContext context = new NHContext(this, stream, acceptor, logger);

                stillReading = await context.HandleRequest(serverAddress);

                if (!stillReading)
                {
                    context.Abandon();
                }
            } while (stillReading);

            logger.Log("Connection waiting for responses, " + networkEndpoint);

            lock (this)
            {
                finished = new TaskCompletionSource <bool>();
                if (outstandingRequests == 0)
                {
                    finished.SetResult(true);
                }
            }

            await finished.Task;

            logger.Log("Connection exiting for " + networkEndpoint);
        }
Example #2
0
 public NHServerResponse(Stream stream, NHContext c, ILogger logger) : base(stream, logger)
 {
     context             = c;
     statusCode          = -1;
     statusDescription   = null;
     holdingResponseSlot = false;
 }
Example #3
0
 public NHServerRequest(NHContext c, ILogger logger) : base(logger)
 {
     context = c;
 }