package uk.ac.ox.zoo.seeg.abraid.mp.modelwrapper.model;
import uk.ac.ox.zoo.seeg.abraid.mp.modelwrapper.config.run.RunConfiguration;
import java.util.concurrent.Future;
/**
* An interface to provide a means for triggering model runs where the workspace setup is done asynchronously.
* Copyright (c) 2014 University of Oxford
*/
public interface ModelRunnerAsyncWrapper {
/**
* Asynchronously starts a new model run with the given configuration.
* @param configuration The model run configuration.
* @param modelStatusReporter The status reporter to call with the results of the model or if the setup fails.
* @return The process handler for the launched process.
*/
Future<ModelProcessHandler> startModel(RunConfiguration configuration, ModelStatusReporter modelStatusReporter);
}