Module DRb
In: lib/drb/ssl.rb
lib/drb/drb.rb
lib/drb/invokemethod.rb
lib/drb/observer.rb
lib/drb/unix.rb
lib/drb/eq.rb
lib/drb/timeridconv.rb
lib/drb/extserv.rb
lib/drb/gw.rb
lib/drb/extservm.rb

for ruby-1.8.0

Methods

Classes and Modules

Module DRb::DRbObservable
Module DRb::DRbProtocol
Module DRb::DRbUndumped
Class DRb::DRbArray
Class DRb::DRbBadScheme
Class DRb::DRbBadURI
Class DRb::DRbConn
Class DRb::DRbConnError
Class DRb::DRbError
Class DRb::DRbIdConv
Class DRb::DRbMessage
Class DRb::DRbObject
Class DRb::DRbRemoteError
Class DRb::DRbSSLSocket
Class DRb::DRbServer
Class DRb::DRbServerNotFound
Class DRb::DRbTCPSocket
Class DRb::DRbUNIXSocket
Class DRb::DRbUnknown
Class DRb::DRbUnknownError
Class DRb::ExtServ
Class DRb::ExtServManager
Class DRb::GW
Class DRb::GWIdConv
Class DRb::TimerIdConv

Attributes

primary_server  [RW]  The primary local dRuby server.

This is the server created by the start_service call.

Public Instance methods

Get the configuration of the current server.

If there is no current server, this returns the default configuration. See current_server and DRbServer::make_config.

[Source]

      # File lib/drb/drb.rb, line 1696
1696:   def config
1697:     current_server.config
1698:   rescue
1699:     DRbServer.make_config
1700:   end

Get the ‘current’ server.

In the context of execution taking place within the main thread of a dRuby server (typically, as a result of a remote call on the server or one of its objects), the current server is that server. Otherwise, the current server is the primary server.

If the above rule fails to find a server, a DRbServerNotFound error is raised.

[Source]

      # File lib/drb/drb.rb, line 1654
1654:   def current_server
1655:     drb = Thread.current['DRb'] 
1656:     server = (drb && drb['server']) ? drb['server'] : @primary_server 
1657:     raise DRbServerNotFound unless server
1658:     return server
1659:   end

[Source]

      # File lib/drb/drb.rb, line 1774
1774:   def fetch_server(uri)
1775:     @server[uri]
1776:   end

Get the front object of the current server.

This raises a DRbServerNotFound error if there is no current server. See current_server.

[Source]

      # File lib/drb/drb.rb, line 1707
1707:   def front
1708:     current_server.front
1709:   end

Is uri the URI for the current local server?

[Source]

      # File lib/drb/drb.rb, line 1687
1687:   def here?(uri)
1688:     (current_server.uri rescue nil) == uri
1689:   end

Set the default acl.

See DRb::DRbServer.default_acl.

[Source]

      # File lib/drb/drb.rb, line 1749
1749:   def install_acl(acl)
1750:     DRbServer.default_acl(acl)
1751:   end

Set the default id conv object.

See DRbServer#default_id_conv.

[Source]

      # File lib/drb/drb.rb, line 1741
1741:   def install_id_conv(idconv)
1742:     DRbServer.default_id_conv(idconv)
1743:   end

[Source]

      # File lib/drb/drb.rb, line 1755
1755:   def mutex
1756:     @mutex
1757:   end

[Source]

      # File lib/drb/drb.rb, line 1761
1761:   def regist_server(server)
1762:     @server[server.uri] = server
1763:     mutex.synchronize do
1764:       @primary_server = server unless @primary_server
1765:     end
1766:   end

[Source]

      # File lib/drb/drb.rb, line 1769
1769:   def remove_server(server)
1770:     @server.delete(server.uri)
1771:   end

Start a dRuby server locally.

The new dRuby server will become the primary server, even if another server is currently the primary server.

uri is the URI for the server to bind to. If nil, the server will bind to random port on the default local host name and use the default dRuby protocol.

front is the server‘s front object. This may be nil.

config is the configuration for the new server. This may be nil.

See DRbServer::new.

[Source]

      # File lib/drb/drb.rb, line 1633
1633:   def start_service(uri=nil, front=nil, config=nil)
1634:     @primary_server = DRbServer.new(uri, front, config)
1635:   end

Stop the local dRuby server.

This operates on the primary server. If there is no primary server currently running, it is a noop.

[Source]

      # File lib/drb/drb.rb, line 1666
1666:   def stop_service
1667:     @primary_server.stop_service if @primary_server
1668:     @primary_server = nil
1669:   end

Get the thread of the primary server.

This returns nil if there is no primary server. See primary_server.

[Source]

      # File lib/drb/drb.rb, line 1733
1733:   def thread
1734:     @primary_server ? @primary_server.thread : nil
1735:   end

Get a reference id for an object using the current server.

This raises a DRbServerNotFound error if there is no current server. See current_server.

[Source]

      # File lib/drb/drb.rb, line 1724
1724:   def to_id(obj)
1725:     current_server.to_id(obj)
1726:   end

Convert a reference into an object using the current server.

This raises a DRbServerNotFound error if there is no current server. See current_server.

[Source]

      # File lib/drb/drb.rb, line 1716
1716:   def to_obj(ref)
1717:     current_server.to_obj(ref)
1718:   end

Get the URI defining the local dRuby space.

This is the URI of the current server. See current_server.

[Source]

      # File lib/drb/drb.rb, line 1675
1675:   def uri
1676:     drb = Thread.current['DRb']
1677:     client = (drb && drb['client'])
1678:     if client
1679:       uri = client.uri
1680:       return uri if uri
1681:     end
1682:     current_server.uri
1683:   end

[Validate]