Sha256: 3691eaa6145bba76065b39466cd2243116cd2626db2c7eff28f0b28ae0b7b6bf

Contents?: true

Size: 830 Bytes

Versions: 3

Compression:

Stored size: 830 Bytes

Contents

module Fog
  @interval = lambda { |retries| [2 ** (retries - 1), @max_interval].min }
  def self.interval
    @interval
  end

  def self.interval=(interval)
    if interval.kind_of?(Proc)
      raise ArgumentError, "interval proc must return a positive" unless interval.call(1) >= 0
    else
      raise ArgumentError, "interval must be non-negative" unless interval >= 0
    end
    @interval = interval
  end
  
  @timeout = 600
  def self.timeout
    @timeout
  end

  def self.timeout=(timeout)
    raise ArgumentError, "timeout must be non-negative" unless timeout >= 0
    @timeout = timeout
  end
  
  @max_interval = 60
  def self.max_interval
    @max_interval
  end

  def self.max_interval=(interval)
    raise ArgumentError, "interval must be non-negative" unless interval >= 0
    @max_interval = interval
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fog-core-1.24.0 lib/fog/core/wait_for_defaults.rb
fog-core-1.23.0 lib/fog/core/wait_for_defaults.rb
fog-core-1.22.0 lib/fog/core/wait_for_defaults.rb