package com.intrbiz.bergamot.check.ssh; import java.util.Timer; import java.util.TimerTask; import java.util.function.Consumer; public class SSHChecker { private int defaultTimeoutSeconds; private final Timer timer; public SSHChecker(int defaultTimeoutSeconds) { this.defaultTimeoutSeconds = defaultTimeoutSeconds; // this.timer = new Timer(); // some util timer tasks // every 5 minutes forcefully purge the timer queue // we cancel most task (hopefully) this.timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { // purge the timer queue SSHChecker.this.timer.purge(); } }, 300_000L, 300_000L); } public SSHChecker() { this(60); } public int getTimeoutSeconds() { return defaultTimeoutSeconds; } Timer getTimer() { return this.timer; } public SSHCheckContext createContext() { return new SSHCheckContext((t) -> { throw new SSHException(t); }); } public SSHCheckContext createContext(Consumer<Throwable> errorHandler) { return new SSHCheckContext(errorHandler); } public void shutdown() { } }