Ruby 2.4

DRb::DRbProtocol

module DRb::DRbProtocol

公共类方法

add_protocol(prot) Show source

向DRbProtocol模块添加新协议。

# File lib/drb/drb.rb, line 724 def add_protocol(prot) @protocol.push(prot) end

打开(uri,config,first = true)显示源文件

uri用配置打开客户端连接config

DRbProtocol模块依次询问每个注册的协议以尝试打开URI。每个协议表示它不会通过引发DRbBadScheme错误来处理该URI。如果没有协议识别该URI,则会引发DRbBadURI错误。如果协议接受URI,但在打开它时发生错误,则会引发DRbConnError。

# File lib/drb/drb.rb, line 736 def open(uri, config, first=true) @protocol.each do |prot| begin return prot.open(uri, config) rescue DRbBadScheme rescue DRbConnError raise($!) rescue raise(DRbConnError, "#{uri} - #{$!.inspect}") end end if first && (config[:auto_load] != false) auto_load(uri) return open(uri, config, false) end raise DRbBadURI, 'can\t parse uri:' + uri end

open_server(uri,config,first = true)显示源文件

uri通过配置打开监听连接的服务器config

DRbProtocol模块依次询问每个注册协议,尝试在URI处打开服务器。每个协议表示它不会通过引发DRbBadScheme错误来处理该URI。如果没有协议识别该URI,则会引发DRbBadURI错误。如果协议接受URI,但在打开它时发生错误,则将基础错误传递给调用者。

# File lib/drb/drb.rb, line 764 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

uri_option(uri,config,first = true)显示源文件

解析uriuri,选项对。

DRbProtocol模块依次询问每个注册的协议以尝试解析URI。每个协议表示它不会通过引发DRbBadScheme错误来处理该URI。如果没有协议识别该URI,则会引发DRbBadURI错误。

# File lib/drb/drb.rb, line 785 def uri_option(uri, config, first=true) @protocol.each do |prot| begin uri, opt = prot.uri_option(uri, config) # opt = nil if opt == '' return uri, opt rescue DRbBadScheme end end if first && (config[:auto_load] != false) auto_load(uri) return uri_option(uri, config, false) end raise DRbBadURI, 'can\t parse uri:' + uri end

私有实例方法

add_protocol(prot)显示源文件

向DRbProtocol模块添加新协议。

# File lib/drb/drb.rb, line 724 def add_protocol(prot) @protocol.push(prot) end

打开(uri,config,first = true)显示源文件

uri用配置打开客户端连接config

DRbProtocol模块依次询问每个注册的协议以尝试打开URI。每个协议表示它不会通过引发DRbBadScheme错误来处理该URI。如果没有协议识别该URI,则会引发DRbBadURI错误。如果协议接受URI,但在打开它时发生错误,则会引发DRbConnError。

# File lib/drb/drb.rb, line 736 def open(uri, config, first=true) @protocol.each do |prot| begin return prot.open(uri, config) rescue DRbBadScheme rescue DRbConnError raise($!) rescue raise(DRbConnError, "#{uri} - #{$!.inspect}") end end if first && (config[:auto_load] != false) auto_load(uri) return open(uri, config, false) end raise DRbBadURI, 'can\t parse uri:' + uri end

open_server(uri,config,first = true)显示源文件

uri通过配置打开监听连接的服务器config

DRbProtocol模块依次询问每个注册协议,尝试在URI处打开服务器。每个协议表示它不会通过引发DRbBadScheme错误来处理该URI。如果没有协议识别该URI,则会引发DRbBadURI错误。如果协议接受URI,但在打开它时发生错误,则将基础错误传递给调用者。

# File lib/drb/drb.rb, line 764 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

uri_option(uri,config,first = true)显示源文件

解析uriuri,选项对。

DRbProtocol模块依次询问每个注册的协议以尝试解析URI。每个协议表示它不会通过引发DRbBadScheme错误来处理该URI。如果没有协议识别该URI,则会引发DRbBadURI错误。

# File lib/drb/drb.rb, line 785 def uri_option(uri, config, first=true) @protocol.each do |prot| begin uri, opt = prot.uri_option(uri, config) # opt = nil if opt == '' return uri, opt rescue DRbBadScheme end end if first && (config[:auto_load] != false) auto_load(uri) return uri_option(uri, config, false) end raise DRbBadURI, 'can\t parse uri:' + uri end