Clase: Mongo::Socket Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Socket
- Incluye:
- Socket::Constantes
- Definido en:
- lib/mongo/socket.rb,
lib/mongo/socket/ssl.rb,
lib/mongo/socket/tcp.rb,
lib/mongo/socket/unix.rb,
lib/mongo/socket/ocsp_cache.rb,
lib/mongo/socket/ocsp_verifier.rb
Overview
Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Proporciona datos adicionales sobre los sockets para el uso del controlador.
Definido en el espacio de nombres
Modules: OcspCache Clases: OcspVerifier, SSL, TCP, Unix
Colapso delresumen constante
- SSL_ERROR =, SSL_ERROR =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Obsoleto.Mensaje de error para excepciones relacionadas con TLS.
'Esposible que MongoDB no esté configurado con soporte TLS'.freeze
- ERROR DE TIEMPO DE ESPERA =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Obsoleto.Mensaje de error por tiempos de espera en llamadas de socket.
'Seagotó el tiempo de solicitud de socket'.freeze
- TIEMPO DE ESPERA_PAQUETE =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
La directiva del paquete para los tiempos de espera.
'l_2'.freeze
- TAMAÑO_DE_TROZO_DE_ESCRITURA =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Escribe datos en el socket en fragmentos de este tamaño.
65536
Colapso delresumen de atributos de instancia
-
#familia ⇒ Entero
solo lectura
privada
Familia El tipo de familia anfitriona.
-
#options ⇒ Hash
solo lectura
privada
Las opciones.
-
#socket ⇒ Socket
solo lectura
privada
Zócalo El zócalo envuelto.
-
#tiempo de espera ⇒ Flotante
solo lectura
privada
Tiempo de espera El tiempo de espera del socket.
Colapso del resumen del método de instancia
-
#¿vivo? ⇒ verdadero, falso
Obsoleto
privada
Obsoleto.
Utilice #connectable? en la conexión.
-
#cerrar ⇒ verdadero
privada
Cierre el zócalo.
- #¿conectable? ⇒ verdadero Obsoleto privada Obsoleto.
-
#dirección_de_conexión ⇒ Dirección
privada
Dirección de la conexión que creó este socket.
-
#generación_de_conexión ⇒ Entero
privada
Generación de la conexión (para conexiones que no son de monitoreo) que creó este socket.
-
#eof? ⇒ Boolean
privada
Comprueba si este socket ha alcanzado el EOF.
-
#obtiene(*args) ⇒ Objeto
privada
Los delegados llegan al socket subyacente.
-
#inicializar(tiempo de espera, opciones) ⇒ Socket
constructor
privada
Inicializa atributos de socket comunes.
-
#supervisar? ⇒ true | false
privada
Si este socket fue creado por una conexión de monitoreo.
-
#pipe ⇒ IO
privada
escuchar durante la llamada del sistema de selección cuando se lee desde el socket.
-
#leer(longitud, socket_timeout: nulo, tiempo de espera: nulo) ⇒ Objeto
privada
Leerá todos los datos del socket para la cantidad de bytes proporcionada.
-
#readbyte ⇒ Objeto
privada
Leer un solo byte del socket.
-
#resumen ⇒ Cadena
privada
Resumen legible para humanos del socket para depuración.
-
#escribir(*args, tiempo de espera: nulo) ⇒ Entero
privada
Escribe datos en la instancia del socket.
Detalles del constructor
#inicializar(tiempo de espera, opciones) ⇒ Socket
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa atributos de socket comunes.
72 73 74 75 |
# Archivo 'lib/mongo/socket.rb', línea 72 def inicializar(tiempo de espera, ) @se acabó el tiempo = tiempo de espera @opciones = end |
Detalles de los atributos de instancia
#familia ⇒ Entero (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve familia El tipo de familia anfitriona.
78 79 80 |
# Archivo 'lib/mongo/socket.rb', línea 78 def familia @familia end |
#opciones ⇒ Hash (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve las opciones.
84 85 86 |
# Archivo 'lib/mongo/socket.rb', línea 84 def @opciones end |
#socket ⇒ Socket (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el socket El socket envuelto.
81 82 83 |
# Archivo 'lib/mongo/socket.rb', línea 81 def Socket @socket end |
#tiempo de espera ⇒ Flotante (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve timeout. El tiempo de espera del socket.
87 88 89 |
# Archivo 'lib/mongo/socket.rb', línea 87 def tiempo de espera @se acabó el tiempo end |
Detalles del método de instancia
#¿vivo? ⇒ verdadero, falso
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Utilice #connectable? en la conexión.
¿Está activa la conexión del socket?
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# Archivo 'lib/mongo/socket.rb', línea 144 def alive? calcetín_arr = [ @socket ] Si Kernel::Seleccione(calcetín_arr, nulo, calcetín_arr, 0) # Se supone que la llamada eof? debe regresar inmediatamente ya que select # indica que el socket es legible. Sin embargo, si @socket es un TLS # socket, eof? puede bloquear de todos modos - ver RUBY-2140. begin Se acabó el tiempo.tiempo de espera(0.1) hacer ¿de? end rescate ::Se acabó el tiempo::Error true end else true end end |
#cerrar ⇒ verdadero
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Cierre el zócalo.
170 171 172 173 174 175 176 177 178 179 180 |
# Archivo 'lib/mongo/socket.rb', línea 170 def cerrar begin # A veces parece que la llamada de atención puede durar mucho tiempo. ::Se acabó el tiempo.tiempo de espera(5) hacer @socket&.cerrar end rescate # Silenciar todos los errores end true end |
#¿conectable? ⇒ verdadero
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Solo por compatibilidad con versiones anteriores, no utilizar.
270 271 272 |
# Archivo 'lib/mongo/socket.rb', línea 270 def ¿conectable? true end |
#dirección_de_conexión ⇒ Dirección
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la dirección de la conexión que creó este socket.
92 93 94 |
# Archivo 'lib/mongo/socket.rb', línea 92 def dirección de conexión [:dirección_de_conexión] end |
#generación_de_conexión ⇒ Entero
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la generación de la conexión (para conexiones que no son de monitoreo) que creó este socket.
100 101 102 |
# Archivo 'lib/mongo/socket.rb', línea 100 def generación de conexión [:generación_de_conexión] end |
#eof? ⇒ Boolean
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Comprueba si este socket ha alcanzado el EOF. Se utiliza principalmente para comprobar su actividad.
259 260 261 262 263 |
# Archivo 'lib/mongo/socket.rb', línea 259 def ¿de? @socket.¿de? rescate IOError, SystemCallError true end |
#obtiene(*args) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Los delegados llegan al socket subyacente.
192 193 194 195 196 |
# Archivo 'lib/mongo/socket.rb', línea 192 def consigue(*args) excepciones de mapa hacer @socket.consigue(*args) end end |
#monitor? ⇒ verdadero | falso
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve si este socket fue creado por una conexión de monitoreo.
108 109 110 |
# Archivo 'lib/mongo/socket.rb', línea 108 def ¿monitor? !![:monitor] end |
#pipe ⇒ IO
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
escuchar durante la llamada del sistema de selección cuando se lee desde el socket.
115 116 117 |
# Archivo 'lib/mongo/socket.rb', línea 115 def pipe [:tubo] end |
#leer(longitud, socket_timeout: nulo, tiempo de espera: nulo) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Leerá todos los datos del socket para el número de bytes indicado. Si no se devuelven datos, se generará una excepción.
215 216 217 218 219 220 221 222 223 224 |
# Archivo 'lib/mongo/socket.rb', línea 215 def Lea(longitud, socket_timeout: nulo, timeout: nulo) Si !tiempo de espera del socket.nil? && !tiempo de espera.nil? propagar ArgumentError, 'Nose pueden configurar ni timeout ni socket_timeout' end Si !tiempo de espera del socket.nil? || tiempo de espera.nil? lectura_sin_tiempo_de_espera(longitud, tiempo de espera del socket) else lectura_con_tiempo_de_espera(longitud, tiempo de espera) end end |
#readbyte ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Leer un solo byte del socket.
234 235 236 237 238 |
# Archivo 'lib/mongo/socket.rb', línea 234 def byte de lectura excepciones de mapa hacer @socket.byte de lectura end end |
#resumen ⇒ Cadena
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve un resumen legible para humanos del socket para depuración.
122 123 124 125 126 127 128 129 130 131 132 133 134 |
# Archivo 'lib/mongo/socket.rb', línea 122 def resumen fileno = @socket&.fileno rescate '<no socket>' || '<no socket>' Si ¿monitor? indicador = Si [:empujar] 'pm' else 'm' end "#{dirección_de_conexión };#{indicador }; fd=#{número_de_archivo}" else "#{dirección_de_conexión };c:#{generación_de_conexión };fd=#{número_de_archivo}" end end |
#escribir(*args, tiempo de espera: nulo) ⇒ Entero
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Escribe datos en la instancia del socket.
250 251 252 253 254 |
# Archivo 'lib/mongo/socket.rb', línea 250 def guardar(*args, timeout: nulo) excepciones de mapa hacer hacer_escribir(*args, timeout: tiempo de espera) end end |