private void KeepQuarantinedOr(Address remoteAddress, Action body)
{
var uid = _endpoints.RefuseUid(remoteAddress);
if (uid.HasValue)
{
_log.Info(
"Quarantined address [{0}] is still unreachable or has not been restarted. Keeping it quarantined.",
remoteAddress);
// Restoring Quarantine marker overwritten by a Pass(endpoint, refuseUid) pair while probing remote system.
_endpoints.MarkAsQuarantined(remoteAddress, uid.Value, Deadline.Now + _settings.QuarantineDuration);
}
else
{
body();
}
}