void RpcClientImpl::onConnect(net::TcpSocket& socket) { try { log_trace("onConnect"); _exceptionPending = false; if (_ssl) { socket.beginSslConnect(); return; } socket.endConnect(); _stream.buffer().beginWrite(); } catch (const std::exception& ) { IRemoteProcedure* proc = _proc; cancel(); if (!proc) throw; _exceptionPending = true; proc->onFinished(); if (_exceptionPending) throw; } }
void ClientImpl::onConnect(net::TcpSocket& socket) { try { log_trace("onConnect"); _errorPending = false; socket.endConnect(); sendRequest(*_request); log_debug("request sent - begin write"); _stream.buffer().beginWrite(); } catch (const std::exception& ) { _errorPending = true; _client->replyFinished(*_client); if (_errorPending) throw; } }