Exemple #1
0
        /// <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);
        }
Exemple #2
0
 /// <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);
 }