/// <summary>
 /// On failed call, the failure count is incremented.  The count is checked against the configured maxFailures, and
 /// the breaker is tripped if we have reached maxFailures.
 /// </summary>
 protected override void CallFails( )
 {
     if (IncrementAndGet( ) == _breaker.MaxFailures)
     {
         _breaker.TripBreaker(this);
     }
 }
 /// <summary>
 /// On failed call, the failure count is incremented.  The count is checked against the configured maxFailures, and
 /// the breaker is tripped if we have reached maxFailures.
 /// </summary>
 protected internal override void CallFails(Exception cause)
 {
     _breaker.OnFail(cause);
     if (IncrementAndGet() == _breaker.MaxFailures)
     {
         _breaker.TripBreaker(this);
     }
 }
 /// <summary>
 /// Reopen breaker on failed call.
 /// </summary>
 protected override void CallFails( )
 {
     _breaker.TripBreaker(this);
 }
 /// <summary>
 /// Reopen breaker on failed call.
 /// </summary>
 protected internal override void CallFails(Exception cause)
 {
     _breaker.OnFail(cause);
     _breaker.TripBreaker(this);
 }