Classe: Mongo::Address::IPv6

Herda:
Objeto
  • Objeto
mostrar tudo
Definido em:
build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb

Visão geral

Define a resolução com suporte a IPv6 se o endereço for um endereço IP.

Desde:

  • 2.0.0

Colapsode resumo constante

corresponder =

A expressão regular a ser usada para corresponder a um endereço IP IPv6 .

Desde:

  • 2.0.0

regexp.Novo('::').congelar

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de classe

Recolhimento do Resumo do método de instância

Detalhes do construtor

#inicializar(host, porta, host_name = nil) ➤ IPv6

Inicialize o resolvedor IPv6 .

Exemplos:

Inicialize o resolvedor.

IPv6.new("::1", 28011, 'localhost')

Parâmetros:

  • Anfitrião (string)

    O host.

  • Porta (Inteiro)

    A porta.

Desde:

  • 2.0.0



86
87
88
89
90
# File 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', linha 86

def inicializar(Anfitrião, Porta, host_name=nada)
  @host = Anfitrião
  @port = Porta
  @host_name = host_name
end

Detalhes do atributo da instância

#hoststring (somente leitura)

Retorna host O host.

Retorna:

  • (string)

    O host O host.

Desde:

  • 2.0.0



28
29
30
# File 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', linha 28

def Anfitrião
  @host
end

#host_namestring (somente leitura)

Retorna host_name O nome do host original.

Retorna:

  • (string)

    host_name O nome do host original.

Desde:

  • 2.0.0



31
32
33
# File 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', linha 31

def host_name
  @host_name
end

#portainteiro (somente leitura)

Retorna porta A porta.

Retorna:

  • (Inteiro)

    Porta A porta.

Desde:

  • 2.0.0



34
35
36
# File 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', linha 34

def Porta
  @port
end

Detalhes do método de classe

.parse(endereço) ➤ Array <string, Inteiro>

Analise um endereço IPv6 em seu host e porta.

Exemplos:

Analise o endereço.

IPv6.parse("[::1]:28011")

Parâmetros:

  • endereço (string)

    O endereço a ser analisado.

Retorna:

  • (Array <string, Inteiro >)

    O host e o par de portas.

Desde:

  • 2.0.0



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', linha 51

def auto.parse(endereço)
  # O analisador do IPAdr lida apenas com o endereço IP, não com a porta.
  # Portanto, precisamos lidar com a porta nós mesmos
  se endereço =~ /[\[\]]/
    peças = endereço.corresponder(/\A\[(.+)\](?::(\d+))?\z/)
    se peças.nada?
      aumentar ArgumentError, "Endereço IPv6 inválido: #{endereço}"
    end
    Anfitrião = peças[1]
    Porta = (peças[2] || 27017).to_i
  mais
    Anfitrião = endereço
    Porta = 27017
  end
  # Validar host.
  # Isso aumentará IPAddr::InvalidAddressError
  # em rubis mais recentes que é uma subclasse de ArgumentError
  # se o host for inválido
  começar
    IPAddr.Novo(Anfitrião)
  salvar ArgumentError
    aumentar ArgumentError, "Endereço IPv6 inválido: #{endereço}"
  end
  [ Anfitrião, Porta ]
end

Detalhes do método de instância

#soquete(socket_timeout, options = {}) ➤ Mongo::Socket::SSL, Mongo::Socket::TCP

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Obtenha um soquete para o tipo de endereço fornecido, dadas as opções.

Exemplos:

Obtenha um soquete IPv6 .

ipv4.socket(5, :ssl => true)

Parâmetros:

  • socket_timeout (Flutuante)

    O tempo limite do soquete.

  • opções (Hash) (padrão para: {})

    As opções.

Hash de opções (opções):

  • :connect_timeout (Flutuante)

    Tempo limite de conexão.

  • :ssl (verdadeiro | falso)

    Se deve usar o TLS.

  • :ssl_ca_cert (string)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_ca_cert_object (Array <OpenSSL::X509::Certificate>)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_ca_cert_string (string)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_cert (string)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_cert_object (OpenSSL::X509::Certificate)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_cert_string (string)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_key (string)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_key_object (OpenSSL::PKey)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_key_pass_ phrase (string)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_key_string (string)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_verify (verdadeiro, falso)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_verify_certificate (verdadeiro, falso)

    Igual à opção Client/Socket::SSL correspondente.

  • :ssl_verify_hostname (verdadeiro, falso)

    Igual à opção Client/Socket::SSL correspondente.

Retorna:

Desde:

  • 2.0.0



133
134
135
136
137
138
139
# File 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', linha 133

def soquete(socket_timeout, opções = {})
  se opções[:ssl]
    Soquete::ssl.Novo(Anfitrião, Porta, host_name, socket_timeout, Soquete::PF_INET6, opções)
  mais
    Soquete::TCP.Novo(Anfitrião, Porta, socket_timeout, Soquete::PF_INET6, opções)
  end
end