In Files

  • drb/extservm.rb

DRb::ExtServManager

Attributes

uri[RW]

Public Class Methods

command() click to toggle source
 
               # File drb/extservm.rb, line 15
def self.command
  @@command
end
            
command=(cmd) click to toggle source
 
               # File drb/extservm.rb, line 19
def self.command=(cmd)
  @@command = cmd
end
            
new() click to toggle source
 
               # File drb/extservm.rb, line 23
def initialize
  @servers = {}
  @waiting = []
  @queue = Queue.new
  @thread = invoke_thread
  @uri = nil
end
            

Public Instance Methods

regist(name, ro) click to toggle source
 
               # File drb/extservm.rb, line 43
def regist(name, ro)
  ary = nil
  Thread.exclusive do
    @servers[name] = ro
    ary = @waiting
    @waiting = []
  end
  ary.each do |th|
    begin
      th.run
    rescue ThreadError
    end
  end
  self
end
            
service(name) click to toggle source
 
               # File drb/extservm.rb, line 32
def service(name)
  while true
    server = nil
    Thread.exclusive do
      server = @servers[name] if @servers[name]
    end
    return server if server && server.alive?
    invoke_service(name)
  end
end
            
unregist(name) click to toggle source
 
               # File drb/extservm.rb, line 59
def unregist(name)
  Thread.exclusive do
    @servers.delete(name)
  end
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus