diff --git a/core/src/main/java/jenkins/agents/WebSocketAgents.java b/core/src/main/java/jenkins/agents/WebSocketAgents.java index d18e546bafa3..005587c6365a 100644 --- a/core/src/main/java/jenkins/agents/WebSocketAgents.java +++ b/core/src/main/java/jenkins/agents/WebSocketAgents.java @@ -44,6 +44,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.TimeUnit; import java.util.logging.Level; import java.util.logging.Logger; import jenkins.slaves.JnlpAgentReceiver; @@ -166,11 +167,19 @@ protected void error(Throwable cause) { class Transport extends AbstractByteBufferCommandTransport { + Transport() { + super(true); + } + @Override - protected void write(ByteBuffer header, ByteBuffer data) throws IOException { - LOGGER.finest(() -> "sending message of length " + ChunkHeader.length(ChunkHeader.peek(header))); - sendBinary(header, false); - sendBinary(data, true); + protected void write(ByteBuffer headerAndData) throws IOException { + // As in Engine.runWebSocket: + LOGGER.finest(() -> "sending message of length " + (headerAndData.remaining() - ChunkHeader.SIZE)); + try { + sendBinary(headerAndData).get(5, TimeUnit.MINUTES); + } catch (Exception x) { + throw new IOException(x); + } } @Override diff --git a/pom.xml b/pom.xml index 7065f7f14507..bed299585f12 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,7 @@ THE SOFTWARE. https://www.jenkins.io/changelog - 3085.vc4c6977c075a + 3107.v665000b_51092 4.7