// see if it is already computed
if (adaptedPortTimeout > 0)
return adaptedPortTimeout;
// try to adapt timeout if it is enabled and pinging results are available
PingResult pingResult = (PingResult) getParameter(PARAMETER_PING_RESULT);
if (pingResult != null) {
if (config.adaptPortTimeout && pingResult.isTimeoutAdaptationAllowed()) {
adaptedPortTimeout = Math.min(Math.max(pingResult.getLongestTime() * 3, config.minPortTimeout), config.portTimeout);
return adaptedPortTimeout;
}
}
// if no pinging results are available yet, return the full timeout
return config.portTimeout;