diff options
Diffstat (limited to 'src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java')
-rw-r--r-- | src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java index ee1f16d..e641be2 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java @@ -13,10 +13,13 @@ // limitations under the License. package com.googlesource.gerrit.plugins.replication; +import static java.util.concurrent.TimeUnit.MINUTES; +import static java.util.concurrent.TimeUnit.SECONDS; import static java.util.stream.Collectors.toList; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; +import com.google.gerrit.server.config.ConfigUtil; import com.google.gerrit.server.config.SitePaths; import com.google.gerrit.server.git.WorkQueue; import com.google.inject.Inject; @@ -45,6 +48,8 @@ public class ReplicationFileBasedConfig implements ReplicationConfig { private Path cfgPath; private boolean replicateAllOnPluginStart; private boolean defaultForceUpdate; + private int sshCommandTimeout; + private int sshConnectionTimeout; private final FileBasedConfig config; @Inject @@ -104,6 +109,13 @@ public class ReplicationFileBasedConfig implements ReplicationConfig { defaultForceUpdate = config.getBoolean("gerrit", "defaultForceUpdate", false); + sshCommandTimeout = + (int) ConfigUtil.getTimeUnit(config, "gerrit", null, "sshCommandTimeout", 0, SECONDS); + sshConnectionTimeout = + (int) + SECONDS.toMillis( + ConfigUtil.getTimeUnit(config, "gerrit", null, "sshConnectionTimeout", 2, MINUTES)); + ImmutableList.Builder<Destination> dest = ImmutableList.builder(); for (RemoteConfig c : allRemotes(config)) { if (c.getURIs().isEmpty()) { @@ -203,4 +215,14 @@ public class ReplicationFileBasedConfig implements ReplicationConfig { cfg.start(workQueue); } } + + @Override + public int getSshConnectionTimeout() { + return sshConnectionTimeout; + } + + @Override + public int getSshCommandTimeout() { + return sshCommandTimeout; + } } |