Example #1
0
        public async Task RunAsync()
        {
            using TSocket listener = _socketHandler.CreateListenerSocket(_serverEndpoint, 1024);
            Console.WriteLine($"Raw server listening on {_serverEndpoint}");

            bool deferSends    = _options.DeferSends == true;
            bool deferReceives = _options.DeferReceives == true;
            bool runContinuationsAsynchronously =
                _options.SocketContinuationScheduler == SocketContinuationScheduler.ThreadPool;

            while (true)
            {
                TSocket handlerSocket = await _socketHandler.AcceptAsync(listener);

                ClientConnectionHandler clientHandler =
                    new ClientConnectionHandler(handlerSocket, _socketHandler, deferSends, deferReceives, runContinuationsAsynchronously);

                clientHandler.HandleClient();
            }
        }