module DRb::DRbProtocol

def open_server(uri, config, first=true)

error is passed on to the caller.
accepts the URI, but an error occurs in opening it, the underlying
recognises the URI, then a DRbBadURI error is raised. If a protocol
not handle that URI by raising a DRbBadScheme error. If no protocol
try to open a server at the URI. Each protocol signals that it does
The DRbProtocol module asks each registered protocol in turn to

configuration +config+.
Open a server listening for connections at +uri+ with
def open_server(uri, config, first=true)
  @protocol.each do |prot|
    begin
      return prot.open_server(uri, config)
    rescue DRbBadScheme
    end
  end
  if first && (config[:auto_load] != false)
    auto_load(uri)
    return open_server(uri, config, false)
  end
  raise DRbBadURI, 'can\'t parse uri:' + uri
end