bool LookoutVisionInferenceClient::waitForModelStatusWithTimeout()

in src/lookoutvision-client/LookoutVisionInferenceClient.cc [141:156]


bool LookoutVisionInferenceClient::waitForModelStatusWithTimeout(std::string model_component,
                                                                 AWS::LookoutVision::ModelStatus expected_status,
                                                                 int timeout_in_seconds) {
    std::time_t start_time = std::time(NULL);

    while (std::time(NULL) - start_time < timeout_in_seconds) {
        AWS::LookoutVision::ModelStatus* model_status = getModelStatus(model_component);
        if (model_status && *model_status == expected_status) {
            delete model_status;
            return true;
        }
        delete model_status;
        usleep(POLLING_INTERVAL_IN_SECONDS * 1000000);
    }
    return false;
}