/// <summary> /// Detects whether the node can be used to perform operations /// </summary> /// <param name="node">Node</param> /// <returns>True if node can be used</returns> private bool CanBeUsed(IBobNodeClientStatus node) { if (node.State == BobNodeClientState.Shutdown) { return(false); } if (node.SequentialErrorCount < _maxSequentialErrorCount) { return(true); } if (_recoveryTimeoutMs == 0) { return(true); } if (node.TimeSinceLastOperationMs > _recoveryTimeoutMs) { return(true); } return(false); }
/// <summary> /// Detects whether the node can be used to perform operations /// </summary> /// <param name="node">Node</param> /// <returns>True if node can be used</returns> private static bool CanBeUsed(IBobNodeClientStatus node) { return(node.State != BobNodeClientState.Shutdown && node.State != BobNodeClientState.TransientFailure && node.SequentialErrorCount == 0); }