class DRb::ExtServManager
Attributes
Public Class Methods
# File lib/drb/extservm.rb, line 17 def self.command @@command end
# File lib/drb/extservm.rb, line 21 def self.command=(cmd) @@command = cmd end
Calls superclass method
MonitorMixin::new
# File lib/drb/extservm.rb, line 25 def initialize super() @cond = new_cond @servers = {} @waiting = [] @queue = Thread::Queue.new @thread = invoke_thread @uri = nil end
Public Instance Methods
# File lib/drb/extservm.rb, line 47 def register(name, ro) synchronize do @servers[name] = ro @cond.signal end self end
Also aliased as: regist
# File lib/drb/extservm.rb, line 36 def service(name) synchronize do while true server = @servers[name] return server if server && server.alive? # server may be `false' invoke_service(name) @cond.wait end end end
# File lib/drb/extservm.rb, line 56 def unregister(name) synchronize do @servers.delete(name) end end
Also aliased as: unregist