class Cassandra::Reconnection::Policies::Exponential::Schedule
@private
Public Class Methods
new(start, max, exponent)
click to toggle source
# File lib/cassandra/reconnection/policies/exponential.rb 27 def initialize(start, max, exponent) 28 @interval = start 29 @max = max 30 @exponent = exponent 31 end
Public Instance Methods
next()
click to toggle source
# File lib/cassandra/reconnection/policies/exponential.rb 33 def next 34 @interval.tap { backoff if @interval < @max } 35 end
Private Instance Methods
backoff()
click to toggle source
# File lib/cassandra/reconnection/policies/exponential.rb 39 def backoff 40 new_interval = @interval * @exponent 41 42 @interval = if new_interval >= @max 43 @max 44 else 45 new_interval 46 end 47 end