package com.dgrid.service; import java.util.List; import java.util.Map; import com.dgrid.errors.TransportException; import com.dgrid.gen.Host; import com.dgrid.gen.InvalidApiKey; import com.dgrid.gen.InvalidHost; import com.dgrid.gen.InvalidJobId; import com.dgrid.gen.InvalidJobletId; import com.dgrid.gen.Job; import com.dgrid.gen.Joblet; import com.dgrid.gen.JobletResult; import com.dgrid.gen.NoHostAvailable; import com.dgrid.gen.NoWorkAvailable; public interface DGridTransport { public static final String NAME = "transport"; public void setApiKey(String apiKey); public void setEndpoint(String endpoint); public void setPort(int port); public Host registerHost(String hostname) throws TransportException, InvalidApiKey, InvalidHost; public Host getHost(int id) throws TransportException, InvalidApiKey, InvalidHost; public Host getHostByName(String hostname) throws TransportException, InvalidApiKey, InvalidHost; public void setHostFacts(int hostid, Map<String, String> facts) throws TransportException, InvalidApiKey, InvalidHost; public String getHostSetting(int hostid, String name, String defaultValue) throws TransportException, InvalidApiKey, InvalidHost; public String getSetting(String name, String defaultValue) throws TransportException, InvalidApiKey; public void log(int jobletId, int jobletStatus, String message) throws TransportException, InvalidApiKey, InvalidJobletId; public Job submitJob(Job job) throws TransportException, InvalidApiKey; public Joblet submitJoblet(Joblet joblet, int jobId, int callbackType, String callbackAddress, String callbackContent) throws TransportException, InvalidApiKey, InvalidJobId; public JobletResult gridExecute(Joblet joblet, int retries) throws InvalidApiKey, TransportException, NoHostAvailable; public Joblet getWork() throws TransportException, InvalidApiKey, InvalidHost, NoWorkAvailable; public void completeJoblet(int jobletId, JobletResult result, String logMessage) throws TransportException, InvalidApiKey, InvalidJobletId; public void releaseJoblet(int jobletId) throws InvalidApiKey, TransportException, InvalidJobletId; public Job getJob(int jobId) throws TransportException, InvalidApiKey, InvalidJobId; public JobletResult getJobletResult(int jobletId) throws TransportException, InvalidApiKey, InvalidJobletId; public List<JobletResult> getResults(int jobId) throws TransportException, InvalidApiKey, InvalidJobId; public int getJobletQueueSize() throws TransportException, InvalidApiKey; public List<Joblet> listActiveJoblets(String submitter, int offset, int limit) throws TransportException, InvalidApiKey; }