Updated so that NonblockingConnection maintains the network connection and doesn't throw exceptions for connection errors but instead silently retries to establish the connection