Sha256: a3ef1a62f4eb423a1f6425b0f9db09b0037340af460ff14016d08c7b05e59ff9
Contents?: true
Size: 516 Bytes
Versions: 38
Compression:
Stored size: 516 Bytes
Contents
# frozen_string_literal: true module Prefab # This class implements exponential backoff with a maximum delay. # # This is the default sync interval for aggregators. class ExponentialBackoff def initialize(max_delay:, initial_delay: 2, multiplier: 2) @initial_delay = initial_delay @max_delay = max_delay @multiplier = multiplier @delay = initial_delay end def call delay = @delay @delay = [@delay * @multiplier, @max_delay].min delay end end end
Version data entries
38 entries across 38 versions & 1 rubygems