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
primary_server | [RW] |
The primary local dRuby server.
This is the server created by the start_service call. |
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.
# 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.
# 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
Get the front object of the current server.
This raises a DRbServerNotFound error if there is no current server. See current_server.
# File lib/drb/drb.rb, line 1707 1707: def front 1708: current_server.front 1709: end
Set the default acl.
See DRb::DRbServer.default_acl.
# 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.
# File lib/drb/drb.rb, line 1741 1741: def install_id_conv(idconv) 1742: DRbServer.default_id_conv(idconv) 1743: end
# 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
# 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.
# 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.
# 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 a reference id for an object using the current server.
This raises a DRbServerNotFound error if there is no current server. See current_server.
# 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.
# 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.
# 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