package net.johnewart.gearman.server.net; import io.netty.channel.Channel; import net.johnewart.gearman.common.JobStatus; import net.johnewart.gearman.common.interfaces.EngineClient; import net.johnewart.gearman.common.packets.Packet; import net.johnewart.gearman.common.packets.response.WorkCompleteResponse; import net.johnewart.gearman.common.packets.response.WorkDataResponse; import net.johnewart.gearman.common.packets.response.WorkExceptionResponse; import net.johnewart.gearman.common.packets.response.WorkFailResponse; import net.johnewart.gearman.common.packets.response.WorkStatus; import net.johnewart.gearman.common.packets.response.WorkWarningResponse; import net.johnewart.gearman.common.Job; public class NetworkEngineClient implements EngineClient { private final Channel channel; private Job currentJob; public NetworkEngineClient(Channel channel) { this.channel = channel; } @Override public Job getCurrentJob() { return currentJob; } @Override public void setCurrentJob(Job job) { this.currentJob = job; } @Override public void sendWorkResults(String jobHandle, byte[] data) { send(new WorkCompleteResponse(jobHandle, data)); } @Override public void sendWorkData(String jobHandle, byte[] data) { send(new WorkDataResponse(jobHandle, data)); } @Override public void sendWorkException(String jobHandle, byte[] exception) { send(new WorkExceptionResponse(jobHandle, exception)); } @Override public void sendWorkFail(String jobHandle) { send(new WorkFailResponse(jobHandle)); } @Override public void sendWorkWarning(String jobHandle, byte[] warning) { send(new WorkWarningResponse(jobHandle, warning)); } @Override public void sendWorkStatus(JobStatus jobStatus) { send(new WorkStatus(jobStatus)); } @Override public void send(Packet packet) { channel.writeAndFlush(packet); } }