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)显示源文件
解析uri
成uri
,选项对。
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)显示源文件
解析uri
成uri
,选项对。
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