class Google::Cloud::Env::LazyValue
def determine_await_retry_delay state, expiry_time, delay_epsilon
- Private: -
def determine_await_retry_delay state, expiry_time, delay_epsilon cur_time = Process.clock_gettime Process::CLOCK_MONOTONIC next_run_time = if state[0] == :pending && state[2] # Run at end of the current retry delay, plus an epsilon, # if in pending state state[2] + delay_epsilon else # Default to run immediately otherwise cur_time end # Signal nil if we're past the max time return nil if expiry_time && next_run_time > expiry_time # No delay if we're already past the time we want to run return 0 if next_run_time < cur_time next_run_time - cur_time end