class Cassandra::Reconnection::Policies::Exponential

A reconnection policy that returns a constant exponentially growing reconnection interval up to a given maximum

Public Class Methods

new(start, max, exponent = 2) click to toggle source

@param start [Numeric] beginning interval @param max [Numeric] maximum reconnection interval @param exponent [Numeric] (2) interval exponent to use

@example Using this policy

policy   = Cassandra::Reconnection::Policies::Exponential.new(0.5, 10, 2)
schedule = policy.schedule
schedule.next # 0.5
schedule.next # 1.0
schedule.next # 2.0
schedule.next # 4.0
schedule.next # 8.0
schedule.next # 10.0
schedule.next # 10.0
schedule.next # 10.0
   # File lib/cassandra/reconnection/policies/exponential.rb
65 def initialize(start, max, exponent = 2)
66   @start    = start
67   @max      = max
68   @exponent = exponent
69 end

Public Instance Methods

schedule() click to toggle source

@return [Cassandra::Reconnection::Schedule] an exponential

reconnection schedule
   # File lib/cassandra/reconnection/policies/exponential.rb
73 def schedule
74   Schedule.new(@start, @max, @exponent)
75 end