class Socket::HostnameResolutionStore
Constants
- PRIORITY_ON_V4
- PRIORITY_ON_V6
Public Class Methods
Source
# File ext/socket/lib/socket.rb, line 1049definitialize(family_names)@family_names =family_names@addrinfo_dict = {}@error_dict = {}@last_family =nilend
Public Instance Methods
Source
# File ext/socket/lib/socket.rb, line 1060defadd_error(family_name,error)@addrinfo_dict[family_name] = []@error_dict[family_name] =errorend
Source
# File ext/socket/lib/socket.rb, line 1056defadd_resolved(family_name,addrinfos)@addrinfo_dict[family_name] =addrinfosend
Source
# File ext/socket/lib/socket.rb, line 1087defany_addrinfos?!empty_addrinfos?end
Source
# File ext/socket/lib/socket.rb, line 1103defany_unresolved_family?!resolved_all_families?end
Source
# File ext/socket/lib/socket.rb, line 1083defempty_addrinfos?@addrinfo_dict.all? {|_,addrinfos|addrinfos.empty? }end
Source
# File ext/socket/lib/socket.rb, line 1065defget_addrinfoprecedences =case@last_familywhen:ipv4,nilthenPRIORITY_ON_V6when:ipv6thenPRIORITY_ON_V4endprecedences.eachdo|family_name|addrinfo =@addrinfo_dict[family_name]&.shiftnextunlessaddrinfo@last_family =family_namereturnaddrinfoendnilend
Source
# File ext/socket/lib/socket.rb, line 1091defresolved?(family)@addrinfo_dict.has_key?familyend
Source
# File ext/socket/lib/socket.rb, line 1099defresolved_all_families? (@family_names-@addrinfo_dict.keys).empty?end
Source
# File ext/socket/lib/socket.rb, line 1095defresolved_successfully?(family)resolved?(family)&&!@error_dict[family]end