void AsyncMcClientImpl::connectErr( const folly::AsyncSocketException& ex) noexcept { assert(connectionState_ == ConnectionState::CONNECTING); DestructorGuard dg(this); mc_res_t error; if (ex.getType() == folly::AsyncSocketException::TIMED_OUT) { error = mc_res_connect_timeout; } else if (isAborting_) { error = mc_res_aborted; } else { error = mc_res_connect_error; } assert(getInflightRequestCount() == 0); queue_.failAllPending(error); connectionState_ = ConnectionState::DOWN; // We don't need it anymore, so let it perform complete cleanup. socket_.reset(); if (statusCallbacks_.onDown) { statusCallbacks_.onDown(isAborting_); } }
void ThriftTransportBase::connectErr( const folly::AsyncSocketException& ex) noexcept { assert(connectionState_ == ConnectionState::Connecting); connectionState_ = ConnectionState::Error; connectionTimedOut_ = (ex.getType() == folly::AsyncSocketException::TIMED_OUT); VLOG(2) << "[ThriftTransport] Error connecting: " << ex.what(); }