protected void EndRequest(Request request, bool disconnect) { _requestTimer.Stop(); _log.DebugFormat("[{0}] Completed request for [{1}.{2}] in {4:0.00}ms", _commandCounter, request.service_name, request.method_name, request.request_proto.Length, _requestTimer.Elapsed.TotalMilliseconds ); _requestTimer.Reset(); if (disconnect) { Dispose(); } else { StartCommandRequest(); } }
private void OnAccept(IAsyncResult result) { BeginWaitForConnection(); Socket socket; try { socket = _listenSocket.EndAccept(result); _log.DebugFormat("Accepted client from {0}", socket.RemoteEndPoint); } catch (SocketException e) { _log.Error("Socket error on receive, shutting down server", e); return; } catch (ObjectDisposedException e) { _log.Debug("Server already disposed, abort listen"); return; } var handler = _clientHandlerFactory.Create(socket, RemoveHandler); lock (_openConnections) { _openConnections.Add(handler); } handler.ProcessRequests(); }