класс DRb::DRbSSLSocket
Протокол для DRb через сокет SSL
Строка URI для сокета DRb через SSL: drbssl://<host>:<port>?<option>. Опция необязательна
Публичные методы класса
# File lib/drb/ssl.rb, line 306 def initialize(uri, soc, config, is_established) @ssl = is_established ? soc : nil super(uri, soc.to_io, config) end
Создать экземпляр DRb::DRbSSLSocket.
uri — это URI, к которому мы подключены. soc — это TCP-сокет, к которому мы привязаны. config — это наша конфигурация. Это может быть Hash или SSLConfig is_established — булево значение, указывающее, установлено ли soc в настоящее время
Этот метод вызывается автоматически в соответствии с протоколом DRb.
BasicObject::new # File lib/drb/ssl.rb, line 249 def self.open(uri, config) host, port, = parse_uri(uri) host.untaint port.untaint soc = TCPSocket.open(host, port) ssl_conf = SSLConfig::new(config) ssl_conf.setup_ssl_context ssl = ssl_conf.connect(soc) self.new(uri, ssl, ssl_conf, true) end
Возвращает экземпляр DRb::DRbSSLSocket как подключение на стороне клиента с установленным SSL. Этот метод вызывается из DRb::start_service или при подключении к удаленному объекту:
DRb.start_service 'drbssl://localhost:0', front, config
uri — это URI, к которому мы подключены, как указано 'drbssl://localhost:0' выше, config — это наша конфигурация. Это может быть Hash или DRb::DRbSSLSocket::SSLConfig
# File lib/drb/ssl.rb, line 269
def self.open_server(uri, config)
uri = 'drbssl://:0' unless uri
host, port, = parse_uri(uri)
if host.size == 0
host = getservername
soc = open_server_inaddr_any(host, port)
else
soc = TCPServer.open(host, port)
end
port = soc.addr[1] if port == 0
@uri = "drbssl://#{host}:#{port}"
ssl_conf = SSLConfig.new(config)
ssl_conf.setup_certificate
ssl_conf.setup_ssl_context
self.new(@uri, soc, ssl_conf, false)
end Возвращает экземпляр DRb::DRbSSLSocket как подключение на стороне сервера с установленным SSL. Этот метод вызывается из DRb::start_service или при подключении к удаленному объекту:
DRb.start_service 'drbssl://localhost:0', front, config
uri — это URI, к которому мы подключены, как указано 'drbssl://localhost:0' выше, config — это наша конфигурация. Это может быть Hash или DRb::DRbSSLSocket::SSLConfig
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.