Files
CrossJeeves/src/com/flaremicro/crossjeeves/CrossJeevesClient.java
Flare Microsystems 16b66b6094 Add more netcode
2024-11-13 08:49:21 -08:00

41 lines
984 B
Java

package com.flaremicro.crossjeeves;
import java.util.List;
import com.flaremicro.crossjeeves.net.ClientHandler;
import com.flaremicro.crossjeeves.net.ErrorCodes;
public class CrossJeevesClient {
private List<AgentInfo> agentList;
private String script;
//TODO Make configurable
private static final int MAX_ATTEMPTS = 2;
public CrossJeevesClient(List<AgentInfo> agentList, String script) {
this.agentList = agentList;
this.script = script;
}
public void beginJob() {
for(int i = 0; i < MAX_ATTEMPTS; i++)
{
for(AgentInfo agent : agentList)
{
int exitCode = ClientHandler.connect(agent.addr, agent.port, script);
if(ErrorCodes.getErrorCode(exitCode) == null || ErrorCodes.getErrorCode(exitCode).isTerminal)
{
System.out.println("Recieved terminal exit code " + exitCode);
System.exit(exitCode);
}
else if(exitCode == ErrorCodes.OK.id)
{
System.out.println("Job Completed!");
System.exit(0);
}
}
}
}
}