void acknowledge(Message message) { String acknowledgementId = MessageEncoding.decodeData(message.getData(), String.class); LOG.debug("Acknowledging {}", acknowledgementId); callbacks.remove(acknowledgementId).call(); }
@Override public void reportBuildStatus(String buildId, JobState buildState) { webSocketSessionHandler.sendAndWaitForAcknowledgement(new Message(Action.reportCurrentStatus, MessageEncoding.encodeData(new Report(agentRuntimeInfo, buildId, buildState, null)))); }
@Override public void taggedConsumeLine(String tag, String line, JobIdentifier jobIdentifier) { ConsoleTransmission consoleTransmission = new ConsoleTransmission(tag, line, jobIdentifier); webSocketSessionHandler.sendAndWaitForAcknowledgement(new Message(Action.consoleOut, MessageEncoding.encodeData(consoleTransmission))); } }
@Test public void encodeAndDecodeSetCookie() { byte[] msg = MessageEncoding.encodeMessage(new Message(Action.setCookie, MessageEncoding.encodeData("cookie"))); Message decoded = MessageEncoding.decodeMessage(new ByteArrayInputStream(msg)); assertThat(MessageEncoding.decodeData(decoded.getData(), String.class), is("cookie")); }
@Test public void encodeAndDecodeMessageWithoutData() { byte[] msg = MessageEncoding.encodeMessage(new Message(Action.ping)); Message decoded = MessageEncoding.decodeMessage(new ByteArrayInputStream(msg)); assertThat(decoded.getAction(), is(Action.ping)); assertNull(decoded.getData()); assertEquals(decoded, MessageEncoding.decodeMessage(new ByteArrayInputStream(msg))); }
public void process(Agent agent, Message msg) throws Exception { try { processWithoutAcknowledgement(agent, msg); } finally { agent.send(new Message(Action.acknowledge, MessageEncoding.encodeData(msg.getAcknowledgementId()))); } }
@Override public void run() { try { agentController.process(new Message(Action.build, MessageEncoding.encodeData(build))); } catch (InterruptedException e) { throw new RuntimeException(e); } } });
private AgentRuntimeInfo cloneAgentRuntimeInfo(AgentRuntimeInfo agentRuntimeInfo) { return MessageEncoding.decodeData(MessageEncoding.encodeData(agentRuntimeInfo), AgentRuntimeInfo.class); }
@Override public void run() { try { agentController.process(new Message(Action.assignWork, MessageEncoding.encodeWork(sleep1secWork))); } catch (InterruptedException e) { throw new RuntimeException(e); } } });
@Override public void run() { handler.acknowledge(new Message(Action.acknowledge, message.getAcknowledgementId())); } }));
@Override public int hashCode() { int result = action.hashCode(); result = 31 * result + (data != null ? data.hashCode() : 0); result = 31 * result + (acknowledgementId != null ? acknowledgementId.hashCode() : 0); return result; }
public String getLine() { String prepend = format("%s|%s", getTag(), timestamp); String multilineJoin = "\n" + prepend + " "; return format("%s %s", prepend, line).replaceAll("\n", multilineJoin) + "\n"; }
@Override public void reportCompleted(AgentRuntimeInfo agentRuntimeInfo, JobIdentifier jobIdentifier, JobResult result) { Report report = new Report(agentRuntimeInfo, jobIdentifier, result); webSocketSessionHandler.sendAndWaitForAcknowledgement(new Message(Action.reportCompleted, MessageEncoding.encodeData(report))); }
@Override public void taggedConsumeLine(String tag, String line) { ConsoleTransmission transmission = new ConsoleTransmission(tag, line, buildId); this.webSocketSessionHandler.sendAndWaitForAcknowledgement(new Message(Action.consoleOut, MessageEncoding.encodeData(transmission))); } }
private void updateServerAgentRuntimeInfo() { AgentIdentifier agent = agentIdentifier(); LOG.trace("{} is pinging server [{}]", agent, server); getAgentRuntimeInfo().refreshUsableSpace(); if (webSocketSessionHandler.sendAndWaitForAcknowledgement(new Message(Action.ping, MessageEncoding.encodeData(getAgentRuntimeInfo())))) { pingSuccess(); } LOG.trace("{} pinged server [{}]", agent, server); }
@Override public void run() { try { agentController.process(new Message(Action.assignWork, MessageEncoding.encodeWork(work1))); } catch (InterruptedException e) { throw new RuntimeException(e); } } });
@Override public void reportCompleted(String buildId, JobResult buildResult) { Report report = new Report(agentRuntimeInfo, buildId, null, buildResult); webSocketSessionHandler.sendAndWaitForAcknowledgement(new Message(Action.reportCompleted, MessageEncoding.encodeData(report))); }
@Override public void reportCurrentStatus(AgentRuntimeInfo agentRuntimeInfo, JobIdentifier jobIdentifier, JobState jobState) { Report report = new Report(agentRuntimeInfo, jobIdentifier, jobState); webSocketSessionHandler.sendAndWaitForAcknowledgement(new Message(Action.reportCurrentStatus, MessageEncoding.encodeData(report))); }
@Override public void reportCompleting(AgentRuntimeInfo agentRuntimeInfo, JobIdentifier jobIdentifier, JobResult result) { Report report = new Report(agentRuntimeInfo, jobIdentifier, result); webSocketSessionHandler.sendAndWaitForAcknowledgement(new Message(Action.reportCompleting, MessageEncoding.encodeData(report))); }
@Override public void reportCompleting(String buildId, JobResult buildResult) { Report report = new Report(agentRuntimeInfo, buildId, null, buildResult); webSocketSessionHandler.sendAndWaitForAcknowledgement(new Message(Action.reportCompleting, MessageEncoding.encodeData(report))); } }