Class: Bundler::MirrorSockets
| Relationships & Source Files | |
| Inherits: | Object | 
| Defined in: | lib/bundler/mirror.rb | 
Overview
Class used to build the list of sockets that correspond to
a given mirror.One mirror may correspond to many different addresses, both
because of it having many dns entries or because
the network interface is both ipv4 and ipv5Class Method Summary
- .new(mirror) ⇒ MirrorSockets constructor
Instance Attribute Summary
- #any? ⇒ Boolean readonly
Constructor Details
    .new(mirror)  ⇒ MirrorSockets 
  
# File 'lib/bundler/mirror.rb', line 186
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
Instance Attribute Details
    #any?  ⇒ Boolean  (readonly)
  
  [ GitHub ]
# File 'lib/bundler/mirror.rb', line 193
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