модуль DRb::DRbProtocol
Публичные методы класса
# File lib/drb/drb.rb, line 724 def add_protocol(prot) @protocol.push(prot) end
Добавить новый протокол в модуль DRbProtocol.
# 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 Открыть подключение к клиенту к uri с конфигурацией config.
Модуль DRbProtocol по очереди запрашивает каждый зарегистрированный протокол, чтобы попробовать открыть URI. Каждый протокол сигнализирует о том, что он не обрабатывает этот URI, сгенерировав ошибку DRbBadScheme. Если ни один протокол не распознает URI, то генерируется ошибка DRbBadURI. Если протокол принимает URI, но при открытии возникает ошибка, генерируется ошибка DRbConnError.
# 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 с конфигурацией config.
Модуль DRbProtocol по очереди запрашивает каждый зарегистрированный протокол, чтобы попробовать открыть сервер на URI. Каждый протокол сигнализирует о том, что он не обрабатывает этот URI, сгенерировав ошибку DRbBadScheme. Если ни один протокол не распознает URI, то генерируется ошибка DRbBadURI. Если протокол принимает URI, но при открытии возникает ошибка, то подлежащая ошибка передается вызывающему объекту.
# 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 Разбор uri в пару [uri, option].
Модуль DRbProtocol по очереди запрашивает каждый зарегистрированный протокол, чтобы попробовать разобрать URI. Каждый протокол сигнализирует о том, что он не обрабатывает этот URI, сгенерировав ошибку DRbBadScheme. Если ни один протокол не распознает URI, то генерируется ошибка DRbBadURI.
Приватные методы экземпляра
# File lib/drb/drb.rb, line 724 def add_protocol(prot) @protocol.push(prot) end
Добавить новый протокол в модуль DRbProtocol.
# 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 Открыть подключение к клиенту к uri с конфигурацией config.
Модуль DRbProtocol по очереди запрашивает каждый зарегистрированный протокол, чтобы попробовать открыть URI. Каждый протокол сигнализирует о том, что он не обрабатывает этот URI, сгенерировав ошибку DRbBadScheme. Если ни один протокол не распознает URI, то генерируется ошибка DRbBadURI. Если протокол принимает URI, но при открытии возникает ошибка, генерируется ошибка DRbConnError.
# 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 с конфигурацией config.
Модуль DRbProtocol по очереди запрашивает каждый зарегистрированный протокол, чтобы попробовать открыть сервер на URI. Каждый протокол сигнализирует о том, что он не обрабатывает этот URI, сгенерировав ошибку DRbBadScheme. Если ни один протокол не распознает URI, то генерируется ошибка DRbBadURI. Если протокол принимает URI, но при открытии возникает ошибка, то подлежащая ошибка передается вызывающему объекту.
# 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 Разбор uri в пару [uri, option].
Модуль DRbProtocol по очереди запрашивает каждый зарегистрированный протокол, чтобы попробовать разобрать URI. Каждый протокол сигнализирует о том, что он не обрабатывает этот URI, сгенерировав ошибку DRbBadScheme. Если ни один протокол не распознает URI, то генерируется ошибка DRbBadURI.
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.