If the proxy client disconnects before the server connects or sends data, a proxy_connect_error or proxy_inactivity_error was fired because the client connection closes the server connection. This patch causes the server to check that the client is still available before assuming a connect/inactivity error.
The removed try_server_connect logic will never fail because of EM's asynchronous nature. The ServerConnection.request, EM.connect, and proxy_incoming_to calls will always complete without exception because the actual socket operations don't take place until a future tick. In order to support connect failure detection and retries, we'll need to hook into the ServerConnection#connection_completed callback.