package io.vivarium.client.task;
import java.nio.channels.NotYetConnectedException;
import org.java_websocket.handshake.ServerHandshake;
import com.fasterxml.jackson.core.JsonProcessingException;
import io.vivarium.client.TaskClient;
import io.vivarium.net.jobs.Job;
import io.vivarium.net.messages.CreateJobMessage;
public class CreateJobTask extends Task
{
private Job _job;
public CreateJobTask(Job job)
{
_job = job;
}
@Override
public void onOpen(TaskClient client, ServerHandshake handshakedata)
{
try
{
CreateJobMessage message = new CreateJobMessage(_job);
client.send(client.getMapper().writeValueAsString(message));
}
catch (NotYetConnectedException | JsonProcessingException e)
{
e.printStackTrace();
}
}
@Override
public void onMessage(TaskClient client, String message)
{
// No reply expected
// TODO: We should get an ack, and if we don't get the ack we should resend a CreateJob message periodically.
}
@Override
public void onClose(TaskClient client, int code, String reason, boolean remote)
{
}
@Override
public void onError(TaskClient client, Exception ex)
{
}
}