11#
22# Module Reconnect provides Reconnection Support
33#
4- # @author Piyush Wani <piyush.wani@amuratech .com>
4+ # @author Piyush Wani <piyushwww13@gmail .com>
55#
66module Reconnect
7-
87 #
98 # Initializes Reconnection related entities
109 #
@@ -13,7 +12,7 @@ module Reconnect
1312 #
1413 def initialize_reconnect
1514 @reconnect_interval = 2000
16- @max_reconnect_interval = 30000
15+ @max_reconnect_interval = 30_000
1716 @reconnect_decay = 1
1817 @max_attempts = nil
1918 @attempts_made = 0
@@ -30,8 +29,8 @@ def initialize_reconnect
3029 #
3130 #
3231 def set_reconnection_listener ( reconnect_interval , max_reconnect_interval , reconnect_decay , max_attempts )
32+ @reconnect_interval = ( reconnect_interval > max_reconnect_interval ) ? max_reconnect_interval : reconnect_interval
3333 @max_reconnect_interval = max_reconnect_interval
34- @reconnect_interval = ( @reconnect_interval > @max_reconnect_interval ) ? @max_reconnect_interval : @reconnect_interval
3534 @reconnect_decay = reconnect_decay
3635 @max_attempts = max_attempts
3736 @attempts_made = 0
@@ -43,20 +42,20 @@ def set_reconnection_listener(reconnect_interval, max_reconnect_interval, reconn
4342 #
4443 #
4544 def reconnect
46- if ( @reconnect_interval < @max_reconnect_interval )
47- @reconnect_interval = @reconnect_interval * @reconnect_decay
48- @reconnect_interval = @max_reconnect_interval if ( @reconnect_interval > @max_reconnect_interval )
45+ if @reconnect_interval < @max_reconnect_interval
46+ @reconnect_interval *= @reconnect_decay
47+ @reconnect_interval = @max_reconnect_interval if @reconnect_interval > @max_reconnect_interval
4948 end
5049
51- until reconnection_attempts_finished do
50+ until reconnection_attempts_finished
5251 @attempts_made += 1
5352 @logger . warn ( "Attempt number : #{ @attempts_made } " )
5453 connect
55- sleep ( @reconnect_interval / 1000 )
54+ sleep ( @reconnect_interval / 1000 )
5655 end
5756
5857 @attempts_made = 0
59- @logger . warn ( " Unable to reconnect: max reconnection attempts reached" )
58+ @logger . warn ( ' Unable to reconnect: max reconnection attempts reached' )
6059 end
6160
6261 private
@@ -68,7 +67,6 @@ def reconnect
6867 # @return [Boolean] Attempts finished
6968 #
7069 def reconnection_attempts_finished
71- return @attempts_made == @max_attempts
70+ @attempts_made == @max_attempts
7271 end
73-
7472end
0 commit comments