Class DRb::ExtServManager
In: drb/extservm.rb
Parent: Object

Methods

command   command=   new   regist   service   unregist  

Included Modules

Attributes

uri  [RW] 

Public Class methods

[Source]

    # File drb/extservm.rb, line 15
15:     def self.command
16:       @@command
17:     end

[Source]

    # File drb/extservm.rb, line 19
19:     def self.command=(cmd)
20:       @@command = cmd
21:     end

[Source]

    # File drb/extservm.rb, line 23
23:     def initialize
24:       @servers = {}
25:       @waiting = []
26:       @queue = Queue.new
27:       @thread = invoke_thread
28:       @uri = nil
29:     end

Public Instance methods

[Source]

    # File drb/extservm.rb, line 43
43:     def regist(name, ro)
44:       ary = nil
45:       Thread.exclusive do
46:         @servers[name] = ro
47:         ary = @waiting
48:         @waiting = []
49:       end
50:       ary.each do |th|
51:         begin
52:           th.run
53:         rescue ThreadError
54:         end
55:       end
56:       self
57:     end

[Source]

    # File drb/extservm.rb, line 32
32:     def service(name)
33:       while true
34:         server = nil
35:         Thread.exclusive do
36:           server = @servers[name] if @servers[name]
37:         end
38:         return server if server && server.alive?
39:         invoke_service(name)
40:       end
41:     end

[Source]

    # File drb/extservm.rb, line 59
59:     def unregist(name)
60:       Thread.exclusive do
61:         @servers.delete(name)
62:       end
63:     end

Search

Google

Ruby API Docs

Links