Constants
    
  
          No documentation available
        
    
          No documentation available
        
    
      Class Methods
    
  
          
            3.4
          
          
            View on GitHub
            
          
        
        
          
            # File tmp/rubies/ruby-3.4.1/ext/socket/lib/socket.rb, line 1024
def initialize(family_names)
  @family_names = family_names
  @addrinfo_dict = {}
  @error_dict = {}
  @last_family = nil
end
          
        
      No documentation available
      
      Instance Methods
    
  
          
            3.4
          
          
            View on GitHub
            
          
        
        
          
            # File tmp/rubies/ruby-3.4.1/ext/socket/lib/socket.rb, line 1035
def add_error(family_name, error)
  @addrinfo_dict[family_name] = []
  @error_dict[family_name] = error
end
          
        
      No documentation available
      
          
            3.4
          
          
            View on GitHub
            
          
        
        
          
            # File tmp/rubies/ruby-3.4.1/ext/socket/lib/socket.rb, line 1031
def add_resolved(family_name, addrinfos)
  @addrinfo_dict[family_name] = addrinfos
end
          
        
      No documentation available
      
          
            3.4
          
          
            View on GitHub
            
          
        
        
          
            # File tmp/rubies/ruby-3.4.1/ext/socket/lib/socket.rb, line 1062
def any_addrinfos?
  !empty_addrinfos?
end
          
        
      No documentation available
      
          
            3.4
          
          
            View on GitHub
            
          
        
        
          
            # File tmp/rubies/ruby-3.4.1/ext/socket/lib/socket.rb, line 1078
def any_unresolved_family?
  !resolved_all_families?
end
          
        
      No documentation available
      
          
            3.4
          
          
            View on GitHub
            
          
        
        
          
            # File tmp/rubies/ruby-3.4.1/ext/socket/lib/socket.rb, line 1058
def empty_addrinfos?
  @addrinfo_dict.all? { |_, addrinfos| addrinfos.empty? }
end
          
        
      No documentation available
      
          
            3.4
          
          
            View on GitHub
            
          
        
        
          
            # File tmp/rubies/ruby-3.4.1/ext/socket/lib/socket.rb, line 1040
def get_addrinfo
  precedences =
    case @last_family
    when :ipv4, nil then PRIORITY_ON_V6
    when :ipv6      then PRIORITY_ON_V4
    end
  precedences.each do |family_name|
    addrinfo = @addrinfo_dict[family_name]&.shift
    next unless addrinfo
    @last_family = family_name
    return addrinfo
  end
  nil
end
          
        
      No documentation available
      
          
            3.4
          
          
            View on GitHub
            
          
        
        
          
            # File tmp/rubies/ruby-3.4.1/ext/socket/lib/socket.rb, line 1066
def resolved?(family)
  @addrinfo_dict.has_key? family
end
          
        
      No documentation available
      
          
            3.4
          
          
            View on GitHub
            
          
        
        
          
            # File tmp/rubies/ruby-3.4.1/ext/socket/lib/socket.rb, line 1074
def resolved_all_families?
  (@family_names - @addrinfo_dict.keys).empty?
end
          
        
      No documentation available
      
          
            3.4
          
          
            View on GitHub
            
          
        
        
          
            # File tmp/rubies/ruby-3.4.1/ext/socket/lib/socket.rb, line 1070
def resolved_successfully?(family)
  resolved?(family) && !!@error_dict[family]
end
          
        
      No documentation available