Clase: Mongo::Dirección::IPv6
- Hereda:
-
Objeto
- Objeto
- Mongo::Dirección::IPv6
- Definido en:
- lib/mongo/address/ipv6.rb
Overview
Configura la resolución con soporte con IPv6 si la dirección es una dirección ip.
Colapso delresumen constante
- MATCH =
La expresión regular a utilizar para hacer coincidir una dirección IP IPv6.
Regexp.Nuevo('::').freeze
Resumen de atributos de la instancia colapsar
-
#host ⇒ String
Solo lectura
host El host.
-
#host_name ⇒ String
Solo lectura
Host_name El nombre de host original.
-
#port ⇒ Integer
Solo lectura
Puerto El puerto.
Resumen del método de clase colapsar
-
.parse(address) ⇒ arreglo<String, Integer>
Analiza una dirección IPv6 en su host y puerto.
Resumen del método de instancia colapsar
-
#inicializar(host, puerto, nombre_host = nil) ⇒ IPv6
constructor
Inicializa el resolutor IPv6.
-
#socket(socket_timeout, options = {} }) ⇒ Mongo::Socket::SSL, Mongo::Socket::TCP
privado
Obtenga un socket para el tipo de dirección proporcionado, dadas las opciones.
Detalles del constructor
#inicializar(host, puerto, nombre_host = nil) ⇒ IPv6
Inicializa el resolutor IPv6.
86 87 88 89 90 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 86 def inicializar(host, Puerto, nombre_de_host=nulo) @host = host @puerto = Puerto @nombre_de_host = nombre_de_host end |
Detalles de los atributos de instancia
#host ⇒ Cadena (solo lectura)
Devuelve el host El host.
28 29 30 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 28 def host @host end |
#nombre_del_host ⇒ string (solo lectura)
Devuelve host_name El nombre de host original.
31 32 33 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 31 def nombre_de_host @nombre_de_host end |
#puerto ⇒ Entero (solo lectura)
Devuelve el puerto El puerto.
34 35 36 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 34 def Puerto @puerto end |
Detalles del método de clase
.parse(address) ⇒ arreglo<string, Integer>
Analiza una dirección IPv6 en su host y puerto.
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 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 51 def sí mismo.parse(dirección) # El analizador de IPAddr solo gestiona direcciones IP, no puertos. # Por lo tanto, debemos gestionar el puerto nosotros mismos. si dirección =~ /[\[\]]/ piezas = dirección.coincidencia(/\A\[(.+)\](?::(\d+))?\z/) si piezas.nil? propagar ArgumentError, "Dirección IPv6 no válida: #{address}" end host = piezas[1] Puerto = (piezas[2] || 27017).to_i else host = dirección Puerto = 27017 end # Validar el host. # Esto generará un IPAddr::InvalidAddressError # en rubíes más nuevos, que es una subclase de ArgumentError # si el host no es válido begin IPAddr.Nuevo(host) rescate ArgumentError propagar ArgumentError, "Dirección IPv6 no válida: #{address}" end [ host, Puerto ] end |
Detalles del método de instancia
#socket(socket_timeout, options = {}) ⇒ Mongo::Socket::SSL, Mongo::Socket::TCP
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga un socket para el tipo de dirección proporcionado, dadas las opciones.
133 134 135 136 137 138 139 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 133 def enchufe(socket_timeout, = {}) si [:ssl] Socket::SSL.Nuevo(host, Puerto, nombre_de_host, socket_timeout, Socket::PF_INET6, ) else Socket::TCP.Nuevo(host, Puerto, socket_timeout, Socket::PF_INET6, ) end end |