![JAR search and dependency download from the Maven repository](/logo.png)
jadex.micro.taskdistributor.IIntermediateTaskDistributor Maven / Gradle / Ivy
package jadex.micro.taskdistributor;
import jadex.future.IFuture;
import jadex.future.IIntermediateFuture;
import jadex.micro.taskdistributor.ITaskDistributor.Task;
import jadex.providedservice.annotation.Service;
@Service
public interface IIntermediateTaskDistributor
{
/**
* Publish a new task.
* @param task The task to publish.
*/
public IIntermediateFuture publish(T task);
/**
* Request a task.
* @return The next task (waits for a task).
*/
public IFuture> requestNextTask();
/**
* Set the result of a task.
* @param id The task id.
* @param result The result.
*/
public IFuture addTaskResult(String id, R result);
/**
* Set a task finished.
* @param id The task id.
* @param result The result.
*/
public IFuture setTaskFinished(String id);
/**
* Set the exception of a task.
* @param id The task id.
* @param ex The exception.
*/
public IFuture setTaskException(String id, Exception ex);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy