All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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