Classe: Mongo::Address::IPv6
- Herda:
-
Objeto
- Objeto
- Mongo::Address::IPv6
- 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.
Colapsode resumo constante
- corresponder =
A expressão regular a ser usada para corresponder a um endereço IP IPv6 .
regexp.Novo('::').congelar
Recolhimento do Resumo do atributo de instância
-
#host ➤ string
Somente leitura
Anfitrião O host.
-
#host_name ➤ string
Somente leitura
Host_name O nome do host original.
-
#porta ➤ Inteiro
Somente leitura
Porta A porta.
Recolhimento do Resumo do método de classe
-
.parse(endereço) ➤ Array <string, Inteiro>
Analise um endereço IPv6 em seu host e porta.
Recolhimento do Resumo do método de instância
-
#inicializar(host, porta, host_name = nil) ➤ IPv6
construtor
Inicialize o resolvedor IPv6 .
-
#soquete(socket_timeout, options = {}) ➤ Mongo::Socket::SSL, Mongo::Socket::TCP
privado
Obtenha um soquete para o tipo de endereço fornecido, dadas as opções.
Detalhes do construtor
#inicializar(host, porta, host_name = nil) ➤ IPv6
Inicialize o resolvedor IPv6 .
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
#host ➤ string (somente leitura)
Retorna host O host.
28 29 30 |
# File 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', linha 28 def Anfitrião @host end |
#host_name ➤ string (somente leitura)
Retorna host_name O nome do host original.
31 32 33 |
# File 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', linha 31 def host_name @host_name end |
#porta ➤ inteiro (somente leitura)
Retorna porta A porta.
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.
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.
133 134 135 136 137 138 139 |
# File 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', linha 133 def soquete(socket_timeout, = {}) se [:ssl] Soquete::ssl.Novo(Anfitrião, Porta, host_name, socket_timeout, Soquete::PF_INET6, ) mais Soquete::TCP.Novo(Anfitrião, Porta, socket_timeout, Soquete::PF_INET6, ) end end |