module Lowdown::Connection::Monitor
Public Class Methods
new(*)
click to toggle source
@!group Overrides
Calls superclass method
# File lib/lowdown/connection/monitor.rb, line 30 def initialize(*) super @lowdown_crash_conditions_mutex = Mutex.new @lowdown_crash_conditions = [] end
Public Instance Methods
__crash_handler__(actor, reason)
click to toggle source
Send the exception to each of our conditions, to signal that an exception occurred on one of the actors in the pool.
@param [Actor] actor @param [Exception] reason @return [void]
Calls superclass method
# File lib/lowdown/connection/monitor.rb, line 43 def __crash_handler__(actor, reason) if reason # is nil if the actor exits normally @lowdown_crash_conditions_mutex.synchronize do @lowdown_crash_conditions.each do |condition| condition.signal(reason) end end end super end
__deregister_lowdown_crash_condition__(condition)
click to toggle source
Removes a condition from the list of conditions that get notified when an actor dies because of an unhandled exception.
@param [Condition] condition @return [void]
# File lib/lowdown/connection/monitor.rb, line 73 def __deregister_lowdown_crash_condition__(condition) @lowdown_crash_conditions_mutex.synchronize do @lowdown_crash_conditions.delete(condition) end end
__register_lowdown_crash_condition__(condition)
click to toggle source
Adds a condition to the list of conditions to be notified when an actors dies because of an unhandled exception.
@param [Condition] condition @return [void]
# File lib/lowdown/connection/monitor.rb, line 61 def __register_lowdown_crash_condition__(condition) @lowdown_crash_conditions_mutex.synchronize do @lowdown_crash_conditions << condition end end