Clase: Mongo::CsotTimeoutHolder Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::CsotTimeoutHolder
- Definido en:
- lib/mongo/csot_timeout_holder.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.
Esta clase almacena el tiempo de espera de la operación y proporciona los métodos auxiliares correspondientes.
Subclases conocidas directas
Colapso delresumen de atributos de instancia
- # fechalímite ⇒ Objeto solo lectura privada
- #operation_timeouts ⇒ Objeto solo lectura privada
- #timeout_sec ⇒ Objeto solo lectura privada
Colapso del resumen del método de instancia
-
#check_timeout! ⇒ Objeto
privada
Comprueba si el tiempo de espera de la operación expiró y genera un error apropiado si es así.
-
#csot? ⇒ true | false
privada
Si CSOT está habilitado para la operación.
-
#inicializar(sesión: nula, tiempos de espera de operación: {}) ⇒ CsotTimeoutHolder
constructor
privada
Una nueva instancia de CsotTimeoutHolder.
-
#tiempo_de_espera_restante_ms ⇒ Entero | nulo
privada
Devuelve los milisegundos restantes del tiempo de espera establecido para la operación; si no se establece ningún tiempo de espera, o el tiempo de espera es 0 (significa ilimitado), devuelve nulo.
- #¡tiempo_de_espera_restante_ms! ⇒ Objeto privada
-
#tiempo_de_espera_restante_seg ⇒ Flotante | nulo
privada
Devuelve los segundos restantes del tiempo de espera establecido para la operación; si no se establece ningún tiempo de espera, o el tiempo de espera es 0 (significa ilimitado), devuelve nulo.
- #¡tiempo_de_espera_restante_en_segundos! ⇒ Objeto privada
-
#timeout? ⇒ true | false
privada
Devuelve falso si CSOT no está habilitado o si CSOT está configurado en 0 (significa ilimitado); de lo contrario, es verdadero.
-
#¿tiempo de espera expirado? ⇒ verdadero | falso
privada
Si expiró el tiempo de espera para la operación.
Detalles del constructor
#inicializar(sesión: nula, tiempos de espera de operación: {}) ⇒ CsotTimeoutHolder
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 una nueva instancia de CsotTimeoutHolder.
22 23 24 25 26 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 22 def inicializar(sesión: nulo, tiempos de espera de operación: {}) @fecha límite = calcular_fecha_límite(tiempos de espera de operación, sesión) @tiempos_de_espera_de_operación = tiempos de espera de operación @tiempo de espera_segundo = (@fecha límite - Utils.monotonic_time Si @fecha límite) end |
Detalles de los atributos de instancia
#fecha límite ⇒ Objeto (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.
28 29 30 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 28 def fecha tope @fecha límite end |
#operation_timeouts ⇒ Objeto (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.
28 29 30 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 28 def tiempos de espera de operación @tiempos_de_espera_de_operación end |
#timeout_sec ⇒ Objeto (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.
28 29 30 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 28 def tiempo de espera_seg @tiempo de espera_segundo end |
Detalles del método de instancia
#check_timeout! ⇒ 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.
Comprueba si el tiempo de espera de la operación expiró y genera un error apropiado si es así.
84 85 86 87 88 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 84 def ¡Tiempo de espera de verificación! return a no ser que ¿tiempo de espera_expirado? propagar Error::Error de tiempo de espera, "Laoperación tardó más de #{timeout_sec} segundos" end |
#csot? ⇒ true | false
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 CSOT está habilitado para la operación.
31 32 33 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 31 def csot? !fecha tope.nil? end |
#tiempo_de_espera_restante_ms ⇒ Entero | nulo
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 los milisegundos restantes del tiempo de espera establecido para la operación; si no se establece ningún tiempo de espera, o el tiempo de espera es 0 (significa ilimitado), devuelve nulo.
58 59 60 61 62 63 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 58 def tiempo de espera restante ms segundos = remaining_timeout_sec return nulo Si segundos.nil? (segundos * 1_000).to_i end |
#¡tiempo_de_espera_restante_ms! ⇒ 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.
65 66 67 68 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 65 def ¡tiempo de espera restante_ms! ¡Tiempo de espera de verificación! tiempo de espera restante ms end |
#tiempo_de_espera_restante_seg ⇒ Flotante | nulo
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 los segundos restantes del tiempo de espera establecido para la operación; si no se establece ningún tiempo de espera, o el tiempo de espera es 0 (significa ilimitado), devuelve nulo.
44 45 46 47 48 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 44 def remaining_timeout_sec return nulo a no ser que ¿se acabó el tiempo? fecha tope - Utils.monotonic_time end |
#¡tiempo_de_espera_restante_en_segundos! ⇒ 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.
50 51 52 53 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 50 def ¡tiempo de espera restante en segundos! ¡Tiempo de espera de verificación! remaining_timeout_sec end |
#¿tiempo de espera? ⇒ 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 falso si CSOT no está habilitado o si CSOT está configurado en 0 (significa ilimitado); de lo contrario, es verdadero.
37 38 39 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 37 def ¿se acabó el tiempo? ![ nulo, 0 ].¿incluir?(@fecha límite) end |
#¿tiempo de espera expirado? ⇒ 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.
Indica si el tiempo de espera de la operación expiró. Si no se establece ningún tiempo de espera, este método devuelve falso.
72 73 74 75 76 77 78 |
# Archivo 'lib/mongo/csot_timeout_holder.rb', línea 72 def ¿tiempo de espera_expirado? Si ¿se acabó el tiempo? Utils.monotonic_time >= fecha tope else false end end |