void ZDvidBufferReader::read( const QString &url, const QByteArray &payload, bool outputingUrl) { if (outputingUrl) { qDebug() << url; } m_buffer.clear(); #if defined(_ENABLE_LIBDVIDCPP_) // qDebug() << "Using libdvidcpp"; ZDvidTarget target; target.setFromUrl(url.toStdString()); if (target.isValid()) { try { libdvid::DVIDNodeService service( target.getAddressWithPort(), target.getUuid()); std::string endPoint = ZDvidUrl::GetEndPoint(url.toStdString()); libdvid::BinaryDataPtr libdvidPayload = libdvid::BinaryData::create_binary_data(payload.data(), payload.length()); libdvid::BinaryDataPtr data = service.custom_request( endPoint, libdvidPayload, libdvid::POST, m_tryingCompress); m_buffer.append(data->get_data().c_str(), data->length()); m_status = READ_OK; } catch (std::exception &e) { std::cout << e.what() << std::endl; m_status = READ_FAILED; } } #endif }
void ZDvidBufferReader::read(const QString &url, bool outputingUrl) { if (outputingUrl) { qDebug() << url; } m_buffer.clear(); #if defined(_ENABLE_LIBDVIDCPP_) // qDebug() << "Using libdvidcpp"; ZDvidTarget target; target.setFromUrl(url.toStdString()); if (target.isValid()) { try { libdvid::DVIDNodeService service( target.getAddressWithPort(), target.getUuid()); std::string endPoint = ZDvidUrl::GetEndPoint(url.toStdString()); libdvid::BinaryDataPtr data = service.custom_request( endPoint, libdvid::BinaryDataPtr(), libdvid::GET, m_tryingCompress); m_buffer.append(data->get_data().c_str(), data->length()); m_status = READ_OK; } catch (std::exception &e) { std::cout << e.what() << std::endl; m_status = READ_FAILED; } } else { startReading(); m_networkReply = m_networkManager->get(QNetworkRequest(url)); connect(m_networkReply, SIGNAL(finished()), this, SLOT(finishReading())); connect(m_networkReply, SIGNAL(readyRead()), this, SLOT(readBuffer())); connect(m_networkReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(handleError(QNetworkReply::NetworkError))); waitForReading(); } #else startReading(); m_networkReply = m_networkManager->get(QNetworkRequest(url)); connect(m_networkReply, SIGNAL(finished()), this, SLOT(finishReading())); connect(m_networkReply, SIGNAL(readyRead()), this, SLOT(readBuffer())); connect(m_networkReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(handleError(QNetworkReply::NetworkError))); waitForReading(); #endif }