new(uri=nil, front=nil, config_or_acl=nil) public

Create a new DRbServer instance.

uri is the URI to bind to. This is normally of the form ‘druby://<hostname>:<port>’ where <hostname> is a hostname of the local machine. If nil, then the system’s default hostname will be bound to, on a port selected by the system; these value can be retrieved from the uri attribute. ‘druby:’ specifies the default dRuby transport protocol: another protocol, such as ‘drbunix:’, can be specified instead.

front is the front object for the server, that is, the object to which remote method calls on the server will be passed. If nil, then the server will not accept remote method calls.

If config_or_acl is a hash, it is the configuration to use for this server. The following options are recognised:


an id-to-object conversion object. This defaults to an instance of the class DRb::DRbIdConv.


if true, all unsuccessful remote calls on objects in the server will be logged to $stdout. false by default.


the access control list for this server. See the ACL class from the main dRuby distribution.


the maximum message size in bytes accepted by the server. Defaults to 25 MB (26214400).


the maximum number of arguments to a remote method accepted by the server. Defaults to 256.


The safe level of the DRbServer. The attribute sets $SAFE for methods performed in the main_loop. Defaults to 0.

The default values of these options can be modified on a class-wide basis by the class methods #default_argc_limit, #default_load_limit, #default_acl, #default_id_conv, and #verbose=

If config_or_acl is not a hash, but is not nil, it is assumed to be the access control list for this server. See the :tcp_acl option for more details.

If no other server is currently set as the primary server, this will become the primary server.

The server will immediately start running in its own thread.

Show source
Register or log in to add new notes.