public BackOffParameters next ( ) { int ret = Math . min ( nextBackOffTime , maxBackOff ) ; nextBackOffTime += backOffTime ; if ( nextBackOffTime <= 0 ) { nextBackOffTime = Integer . MAX_VALUE ; } backOffTime = ret ; int randomizeTime = ( int ) ( backOffTime * ( 1.0 + ( Math . random ( ) * randomizationFactor ) ) ) ; int minAllowedTime = ( int ) Math . round ( randomizeTime - backOffTime * randomizationFactor ) ; return new BackOffParameters ( randomizeTime , minAllowedTime ) ; }
Gets the next back off time . Until maxBackOff is reached .