Class: EventMachine::Twitter::Reconnectors::NetworkFailure
- Inherits:
-
Object
- Object
- EventMachine::Twitter::Reconnectors::NetworkFailure
- Defined in:
- lib/em-twitter/reconnectors/network_failure.rb
Constant Summary collapse
- START =
0.25
- INCREMENTOR =
0.25
- MAX_RECONNECTS =
10
- DEFAULT_RECONNECT =
0
- MAX_TIMEOUT =
16
Instance Attribute Summary collapse
-
#reconnect_count ⇒ Object
readonly
Returns the value of attribute reconnect_count.
- #reconnect_timeout ⇒ Object
Instance Method Summary collapse
- #increment {|@reconnect_timeout| ... } ⇒ Object
-
#initialize(options = {}) ⇒ NetworkFailure
constructor
A new instance of NetworkFailure.
- #reset ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ NetworkFailure
Returns a new instance of NetworkFailure.
16 17 18 19 |
# File 'lib/em-twitter/reconnectors/network_failure.rb', line 16 def initialize( = {}) @reconnect_timeout = .delete(:reconnect_timeout) || START @reconnect_count = .delete(:reconnect_count) || DEFAULT_RECONNECT end |
Instance Attribute Details
#reconnect_count ⇒ Object (readonly)
Returns the value of attribute reconnect_count.
13 14 15 |
# File 'lib/em-twitter/reconnectors/network_failure.rb', line 13 def reconnect_count @reconnect_count end |
#reconnect_timeout ⇒ Object
21 22 23 |
# File 'lib/em-twitter/reconnectors/network_failure.rb', line 21 def reconnect_timeout [@reconnect_timeout, MAX_TIMEOUT].min end |
Instance Method Details
#increment {|@reconnect_timeout| ... } ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/em-twitter/reconnectors/network_failure.rb', line 25 def increment if maximum_reconnects? raise EM::Twitter::ReconnectLimitError.new("#{@reconnect_count} Reconnects") end yield @reconnect_timeout if block_given? @reconnect_count += 1 @reconnect_timeout += INCREMENTOR end |
#reset ⇒ Object
36 37 38 39 |
# File 'lib/em-twitter/reconnectors/network_failure.rb', line 36 def reset @reconnect_timeout = START @reconnect_count = DEFAULT_RECONNECT end |