Clase: Mongo::Dirección::IPv6
- Hereda:
-
Objeto
- Objeto
- Mongo::Dirección::IPv6
- Definido en:
- lib/mongo/dirección/ipv6.rb
Overview
Configura la resolución con soporte con IPv6 si la dirección es una dirección ip.
Colapso delresumen constante
- PARTIDO =
La expresión regular a utilizar para hacer coincidir una dirección IP IPv6.
Regexp.Nuevo('::').freeze
Colapso delresumen de atributos de instancia
-
#host ⇒ String
solo lectura
Anfitrión El anfitrión.
-
#nombre_de_host ⇒ Cadena
solo lectura
Host_name El nombre del host original.
-
#port ⇒ Integer
solo lectura
Puerto El puerto.
Colapso delresumen del método de clase
-
.parse(dirección) ⇒ Array<String, Integer>
Analiza una dirección IPv6 en su host y puerto.
Colapso del resumen del método de instancia
-
#inicializar(host, puerto, nombre_de_host = nil) ⇒ IPv6
constructor
Inicializa el resolutor IPv6.
-
#socket(tiempo de espera de socket, opciones = {}) ⇒ Mongo::Socket::SSL, Mongo::Socket::TCP
privada
Obtenga un socket para el tipo de dirección proporcionado, dadas las opciones.
Detalles del constructor
#inicializar(host, puerto, nombre_de_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 |
#host_name ⇒ Cadena (solo lectura)
Devuelve host_name El nombre del 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 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(dirección) ⇒ Array<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 yo.parse(dirección) # El analizador de IPAddr maneja únicamente la dirección IP, no el puerto. # Por lo tanto, debemos gestionar el puerto nosotros mismos. Si dirección =~ /[\[\]]/ partes = dirección.coincidencia(/\A\[(.+)\](?::(\d+))?\z/) Si partes.nil? propagar ArgumentError, "DirecciónIPv6 no válida: #{dirección }" end host = partes[1] Puerto = (partes[2] || 27017).to_i else host = dirección Puerto = 27017 end # Validar host. # Esto generará 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ónIPv6 no válida: #{dirección }" end [ host, Puerto ] end |
Detalles del método de instancia
#socket(tiempo de espera de socket, opciones = {}) ⇒ 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 Socket(tiempo de espera del socket, = {}) Si [:ssl] Enchufe::SSL.Nuevo(host, Puerto, nombre_de_host, tiempo de espera del socket, Enchufe::PF_INET6, ) else Enchufe::TCP.Nuevo(host, Puerto, tiempo de espera del socket, Enchufe::PF_INET6, ) end end |