Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ef474f3 authored by Michael Butler's avatar Michael Butler Committed by Android (Google) Code Review
Browse files

Merge "Cleanup how transport errors are handled in NN utils"

parents 406dfbb2 61f508e0
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ nn::GeneralResult<nn::Capabilities> initCapabilities(V1_0::IDevice* device) {
    };

    const auto ret = device->getCapabilities(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -119,7 +119,8 @@ std::pair<uint32_t, uint32_t> Device::getNumberOfCacheFilesNeeded() const {

nn::GeneralResult<void> Device::wait() const {
    const auto ret = kDevice->ping();
    return hal::utils::handleTransportError(ret);
    HANDLE_TRANSPORT_FAILURE(ret);
    return {};
}

nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Model& model) const {
@@ -148,7 +149,7 @@ nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Mo
    };

    const auto ret = kDevice->getSupportedOperations(hidlModel, cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -168,7 +169,7 @@ nn::GeneralResult<nn::SharedPreparedModel> Device::prepareModel(
    const auto scoped = kDeathHandler.protectCallback(cb.get());

    const auto ret = kDevice->prepareModel(hidlModel, cb);
    const auto status = NN_TRY(hal::utils::handleTransportError(ret));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "prepareModel failed with " << toString(status);
+1 −2
Original line number Diff line number Diff line
@@ -67,8 +67,7 @@ nn::ExecutionResult<std::pair<std::vector<nn::OutputShape>, nn::Timing>> Prepare
    const auto scoped = kDeathHandler.protectCallback(cb.get());

    const auto ret = kPreparedModel->execute(hidlRequest, cb);
    const auto status =
            NN_TRY(hal::utils::makeExecutionFailure(hal::utils::handleTransportError(ret)));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "execute failed with " << toString(status);
+5 −4
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ nn::GeneralResult<nn::Capabilities> initCapabilities(V1_1::IDevice* device) {
    };

    const auto ret = device->getCapabilities_1_1(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -120,7 +120,8 @@ std::pair<uint32_t, uint32_t> Device::getNumberOfCacheFilesNeeded() const {

nn::GeneralResult<void> Device::wait() const {
    const auto ret = kDevice->ping();
    return hal::utils::handleTransportError(ret);
    HANDLE_TRANSPORT_FAILURE(ret);
    return {};
}

nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Model& model) const {
@@ -150,7 +151,7 @@ nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Mo
    };

    const auto ret = kDevice->getSupportedOperations_1_1(hidlModel, cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -171,7 +172,7 @@ nn::GeneralResult<nn::SharedPreparedModel> Device::prepareModel(
    const auto scoped = kDeathHandler.protectCallback(cb.get());

    const auto ret = kDevice->prepareModel_1_1(hidlModel, hidlPreference, cb);
    const auto status = NN_TRY(hal::utils::handleTransportError(ret));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != V1_0::ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "prepareModel failed with " << toString(status);
+10 −9
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ nn::GeneralResult<nn::Capabilities> initCapabilities(V1_2::IDevice* device) {
    };

    const auto ret = device->getCapabilities_1_2(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -81,7 +81,7 @@ nn::GeneralResult<std::string> initVersionString(V1_2::IDevice* device) {
    };

    const auto ret = device->getVersionString(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -101,7 +101,7 @@ nn::GeneralResult<nn::DeviceType> initDeviceType(V1_2::IDevice* device) {
    };

    const auto ret = device->getType(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -121,7 +121,7 @@ nn::GeneralResult<std::vector<nn::Extension>> initExtensions(V1_2::IDevice* devi
    };

    const auto ret = device->getSupportedExtensions(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -144,7 +144,7 @@ nn::GeneralResult<std::pair<uint32_t, uint32_t>> initNumberOfCacheFilesNeeded(
    };

    const auto ret = device->getNumberOfCacheFilesNeeded(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -217,7 +217,8 @@ std::pair<uint32_t, uint32_t> Device::getNumberOfCacheFilesNeeded() const {

nn::GeneralResult<void> Device::wait() const {
    const auto ret = kDevice->ping();
    return hal::utils::handleTransportError(ret);
    HANDLE_TRANSPORT_FAILURE(ret);
    return {};
}

nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Model& model) const {
@@ -247,7 +248,7 @@ nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Mo
    };

    const auto ret = kDevice->getSupportedOperations_1_2(hidlModel, cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -272,7 +273,7 @@ nn::GeneralResult<nn::SharedPreparedModel> Device::prepareModel(

    const auto ret = kDevice->prepareModel_1_2(hidlModel, hidlPreference, hidlModelCache,
                                               hidlDataCache, hidlToken, cb);
    const auto status = NN_TRY(hal::utils::handleTransportError(ret));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != V1_0::ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "prepareModel_1_2 failed with " << toString(status);
@@ -292,7 +293,7 @@ nn::GeneralResult<nn::SharedPreparedModel> Device::prepareModelFromCache(
    const auto scoped = kDeathHandler.protectCallback(cb.get());

    const auto ret = kDevice->prepareModelFromCache(hidlModelCache, hidlDataCache, hidlToken, cb);
    const auto status = NN_TRY(hal::utils::handleTransportError(ret));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != V1_0::ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "prepareModelFromCache failed with " << toString(status);
+2 −3
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ PreparedModel::executeSynchronously(const V1_0::Request& request, MeasureTiming
    };

    const auto ret = kPreparedModel->executeSynchronously(request, measure, cb);
    NN_TRY(hal::utils::makeExecutionFailure(hal::utils::handleTransportError(ret)));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -94,8 +94,7 @@ PreparedModel::executeAsynchronously(const V1_0::Request& request, MeasureTiming
    const auto scoped = kDeathHandler.protectCallback(cb.get());

    const auto ret = kPreparedModel->execute_1_2(request, measure, cb);
    const auto status =
            NN_TRY(hal::utils::makeExecutionFailure(hal::utils::handleTransportError(ret)));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != V1_0::ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "execute failed with " << toString(status);
Loading