Sha256: b492de7e3722fe123f70233b5ef44cd348438b0519258abb26a95c4bf8e5a014
Contents?: true
Size: 585 Bytes
Versions: 84
Compression:
Stored size: 585 Bytes
Contents
# frozen_string_literal: false module SplitIoClient module Engine BACKOFF_MAX_ALLOWED = 1.8 class BackOff def initialize(back_off_base, attempt = 0, max_allowed = BACKOFF_MAX_ALLOWED) @attempt = attempt @back_off_base = back_off_base @max_allowed = max_allowed end def interval interval = 0 interval = (@back_off_base * (2**@attempt)) if @attempt.positive? @attempt += 1 interval >= @max_allowed ? @max_allowed : interval end def reset @attempt = 0 end end end end
Version data entries
84 entries across 84 versions & 1 rubygems