Spec-Zone.ru › Ruby 2.6

класс Bundler::MirrorSockets

Родитель:
Объект

Class используется для построения списка сокетов, соответствующих

a given mirror.

Один зеркало может соответствовать множеству различных адресов, как

because of it having many dns entries or because
the network interface is both ipv4 and ipv5

Публичные методы класса

new(mirror) Показать исходный код
# File lib/bundler/mirror.rb, line 188
def initialize(mirror)
  @timeout = mirror.fallback_timeout
  @addresses = Socket.getaddrinfo(mirror.uri.host, mirror.uri.port).map do |address|
    SocketAddress.new(address[0], address[3], address[1])
  end
end

Публичные методы экземпляра

any?() { |socket, to_socket_address, timeout| ... } Показать исходный код
# File lib/bundler/mirror.rb, line 195
def any?
  @addresses.any? do |address|
    socket = Socket.new(Socket.const_get(address.type), Socket::SOCK_STREAM, 0)
    socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
    value = yield socket, address.to_socket_address, @timeout
    socket.close unless socket.closed?
    value
  end
end

Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API