public void onFail ( ) { _lastFailTime = CurrentTime . currentTime ( ) ; if ( _firstFailTime == 0 ) { _firstFailTime = _lastFailTime ; } _firstSuccessTime = 0 ; toState ( State . FAIL ) ; long recoverTimeout = _dynamicRecoverTimeout . get ( ) ; long nextRecoverTimeout = Math . min ( recoverTimeout + 1000L , _recoverTimeout ) ; _dynamicRecoverTimeout . compareAndSet ( recoverTimeout , nextRecoverTimeout ) ; }
Called when the connection fails .