Clase: Mongo::Address::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.
Resumen de constantes colapsar
- MATCH =
La expresión regular que se debe 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
Obtén 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.
82 83 84 85 86 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 82 def inicializar(host, Puerto, host_name = nulo) @host = host @port = Puerto @host_name = host_name end |
Detalles de atributo de instancias
#host ⇒ String (solo lectura)
Retorna el host El host.
25 26 27 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 25 def host @host end |
#nombre_del_host ⇒ string (solo lectura)
Devuelve host_name El nombre de host original.
28 29 30 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 28 def host_name @host_name end |
#puerto ⇒ Entero (solo lectura)
Devuelve el puerto El puerto.
31 32 33 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 31 def Puerto @port end |
Detalles del método de clase
.parse(address) ⇒ arreglo<string, Integer>
Analiza una dirección IPv6 en su host y puerto.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 48 def sí mismo.parse(dirección) # El analizador de IPAddr solo gestiona direcciones IP, no puertos. # Por lo tanto, necesitamos gestionar el puerto nosotros mismos si /[\[\]]/.¿corresponde?(dirección) piezas = dirección.coincidencia(/\A\[(.+)\](?::(\d+))?\z/) propagar ArgumentError, "Dirección IPv6 no válida: #{address}" si piezas.nil? host = piezas[1] Puerto = (piezas[2] || 27_017).to_i else host = dirección Puerto = 27_017 end # Validar el host. # Esto generará un IPAddr::InvalidAddressError # en nuevos rubíes, 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 es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtén un socket para el tipo de dirección proporcionado, dadas las opciones.
129 130 131 132 133 134 135 |
# Archivo 'lib/mongo/address/ipv6.rb', línea 129 def enchufe(socket_timeout, = {}) si [:ssl] Socket::ssl.Nuevo(host, Puerto, host_name, socket_timeout, Socket::PF_INET6, ) else Socket::TCP.Nuevo(host, Puerto, socket_timeout, Socket::PF_INET6, ) end end |