package com.nirima.jenkins.plugins.docker.client; import com.nirima.jenkins.plugins.docker.DockerCloud; import static java.util.concurrent.TimeUnit.SECONDS; import java.io.Serializable; /** * Serializable object that store options for {@see com.github.dockerjava.jaxrs.DockerCmdExecFactoryImpl} * Required for {@see #DockerBuilderPublisher.class} that builds DockerClient on slave side * * @author Kanstantsin Shautsou */ public class DockerCmdExecConfig implements Serializable { private final Integer readTimeout; //sec private final Integer connectTimeout; //sec /** * @param readTimeout Value as is from docker-plugin DockerCloud configuration */ public DockerCmdExecConfig(Integer readTimeout, Integer connectTimeout) { this.readTimeout = readTimeout; this.connectTimeout = connectTimeout; } public Integer getReadTimeout() { return readTimeout; } public Integer getConnectTimeout() { return connectTimeout; } /** * Helper methods that returns sec in ms for @see com.github.dockerjava.jaxrs.DockerCmdExecFactoryImpl */ public Integer getReadTimeoutMillis() { if (readTimeout != null) { return (int) SECONDS.toMillis(readTimeout); } else { return null; } } public Integer getConnectTimeoutMillis() { if (connectTimeout != null) { return (int) SECONDS.toMillis(connectTimeout); } else { return null; } } }