class Gossiperl::Client::Supervisor
Public Instance Methods
connect(options, &block)
click to toggle source
# File lib/gossiperl_client/supervisor.rb, line 8 def connect options, &block ::Gossiperl::Client::Util::Validation.validate_connect( options ) overlay_name = options[:overlay_name].to_sym raise ArgumentError.new("Client for #{overlay_name} already present.") if self.connections.has_key?(overlay_name) if block_given? self.connections[ overlay_name ] = ::Gossiperl::Client::OverlayWorker.new(self, options, block) else self.connections[ overlay_name ] = ::Gossiperl::Client::OverlayWorker.new(self, options, nil) end self.connections[ overlay_name ].start end
disconnect(overlay_name)
click to toggle source
# File lib/gossiperl_client/supervisor.rb, line 20 def disconnect overlay_name overlay_name = overlay_name.to_sym if self.connections.has_key? overlay_name self.connections[ overlay_name ].stop self.connections.delete overlay_name else raise ArgumentError.new("[supervisor] No overlay connection: #{overlay_name}.") end end
send(overlay_name, digest_type, digest_data)
click to toggle source
# File lib/gossiperl_client/supervisor.rb, line 66 def send overlay_name, digest_type, digest_data overlay_name = overlay_name.to_sym if self.connections.has_key? overlay_name self.connections[ overlay_name ].send digest_type, digest_data else raise ArgumentError.new("[supervisor] No overlay connection: #{overlay_name}.") end end
state(overlay_name)
click to toggle source
# File lib/gossiperl_client/supervisor.rb, line 39 def state overlay_name overlay_name = overlay_name.to_sym if self.connections.has_key? overlay_name self.connections[ overlay_name ].current_state else raise ArgumentError.new("[supervisor] No overlay connection: #{overlay_name}.") end end
stop()
click to toggle source
# File lib/gossiperl_client/supervisor.rb, line 75 def stop self.connections.keys.each_value {|ow| ow.stop } end
subscribe(overlay_name, event_types)
click to toggle source
# File lib/gossiperl_client/supervisor.rb, line 48 def subscribe overlay_name, event_types overlay_name = overlay_name.to_sym if self.connections.has_key? overlay_name self.connections[ overlay_name ].subscribe event_types else raise ArgumentError.new("[supervisor] No overlay connection: #{overlay_name}.") end end
subscriptions(overlay_name)
click to toggle source
# File lib/gossiperl_client/supervisor.rb, line 30 def subscriptions overlay_name overlay_name = overlay_name.to_sym if self.connections.has_key? overlay_name self.connections[ overlay_name ].subscriptions else raise ArgumentError.new("[supervisor] No overlay connection: #{overlay_name}.") end end
unsubscribe(overlay_name, event_types)
click to toggle source
# File lib/gossiperl_client/supervisor.rb, line 57 def unsubscribe overlay_name, event_types overlay_name = overlay_name.to_sym if self.connections.has_key? overlay_name self.connections[ overlay_name ].unsubscribe event_types else raise ArgumentError.new("[supervisor] No overlay connection: #{overlay_name}.") end end