Clase: Mongo::Server::Description
- Hereda:
-
Objeto
- Objeto
- Mongo::servidor::descripción
- Definido en:
- lib/mongo/server/description.rb,
lib/mongo/server/description/features.rb,
lib/mongo/server/description/load_balancer.rb
Overview
Representa una descripción del servidor, rellena con el resultado del comando hello.
Nota: Los servidores desconocidos no tienen versiones de cable, pero por razones de legado, devolvemos 0 para min_wire_version y max_wire_version de cualquier servidor que no las tenga. Actualmente, el controlador a veces construye comandos cuando el servidor es desconocido, por lo que las referencias a min_wire_version y max_wire_version no deben ser nulas. Cuando se modifique el comportamiento del controlador (jira.mongodb.org/browse/RUBY-), esto podría dejar1805de ser necesario.
Definido en el espacio de nombres
Clases: Características, LoadBalancer
Colapso delresumen constante
- ÁRBITRO =
Obsoleto.
Constante para leer la información del árbitro desde la configuración.
'árbitroSolo '.freeze
- ÁRBITROS =
Constante para leer la información de los árbitros desde la configuración.
'árbitros'.freeze
- OCULTO =
Constante para leer información oculta de la configuración.
'hidden'.freeze
- ANFITRIONES =
Constante para leer la información de los hosts desde la configuración.
'anfitriones '.freeze
- MENSAJE =
Obsoleto.
Constante para la clave para el valor del mensaje.
'msg'.freeze
- MENSAJE_MONGOS =
Obsoleto.
Constante para el mensaje que indica un clúster fragmentado.
'isdbgrid'.freeze
- CONJUNTO_DE_RÉPLICAS =
Obsoleto.
Constante para determinar servidores fantasmas.
'es un conjunto de réplicas'.freeze
- MAX_BSON_OBJECT_SIZE =
Constante para leer la información del tamaño máximo de bson desde la configuración.
'maxBsonObjectSize'.freeze
- MÁXIMO_MENSAJE_BYTES =
Constante para leer la información del tamaño máximo del mensaje desde la configuración.
'maxMessageSizeBytes'.freeze
- VERSIÓN MÁXIMA DEL CABLE =
Constante para la versión de cable máximo.
'maxWireVersion'.freeze
- VERSIÓN MÍNIMA DEL CABLE =
Constante para la versión de cable mínimo.
' minWireVersion '.freeze
- TAMAÑO MÁXIMO DEL LOTE DE ESCRITURA =
Constante para leer el tamaño máximo del lote de escritura.
'tamaño máximo de lote de escritura '.freeze
- ÚLTIMA_ESCRITURA =
Constante para el subdocumento lastWrite.
'última escritura '.freeze
- FECHA DE ÚLTIMA ESCRITURA =
Constante para el campo lastWriteDate en el subdocumento lastWrite.
' última fecha deescritura '.freeze
- YO =
Constante para leer el campo yo.
'me'.freeze
- TAMAÑO MÁXIMO DE LOTE DE ESCRITURA PREDETERMINADO =
Tamaño máximo de lote de escritura predeterminado.
1000.freeze
- VERSIÓN DEL CABLE LEGADO =
Obsoleto.
Se eliminará en 3.0.
La versión heredada del protocolo de cable.
0.freeze
- PASIVO =
Constante para leer información pasiva de la configuración.
'pasivo '.freeze
- PASIVOS =
Constante para leer la lista de servidores pasivos.
'pasivos '.freeze
- PRIMARIA =
Obsoleto.
Constante para leer información principal de la configuración.
'ismaster'.freeze
- HOST PRINCIPAL =
Constante para leer el campo de host principal desde la configuración.
'primario '.freeze
- SECUNDARIA =
Obsoleto.
Constante para leer información secundaria desde la configuración.
'secundario'.freeze
- ESTABLECER_NOMBRE =
Constante para leer la información del nombre del conjunto de réplicas desde la configuración.
'setName'.freeze
- ETIQUETAS =
Constante para leer la información de las etiquetas desde la configuración.
'tags'.freeze
- ID_ELECCIÓN =
Constante para leer la información de electionId desde la configuración.
'elecciónId'.freeze
- SET_VERSION =
Constante para leer la información de setVersion desde la configuración.
'setVersion'.freeze
- HORA LOCAL =
Constante para leer información de hora local desde la configuración.
' hora local '.freeze
- TIEMPO_DE_OPERACIÓN =
Constante para leer la información de tiempo de operación desde la configuración.
'tiempoOperación '.freeze
- LOGICAL_SESSION_TIMEOUT_MINUTES =
Constante para leer la información logicalSessionTimeoutMinutes desde config.
'MinutosDeTiempoDeExpiraciónDeSesiónLógica'.freeze
- ID DE CONEXIÓN =
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.
Constante para leer la información de connectionId desde la configuración.
'Id de conexión'.freeze
- EXCLUIR_PARA_COMPARACIÓN =
Campos para excluir al comparar dos descripciones.
[ LOCAL_TIME, ÚLTIMA ESCRITURA, TIEMPO DE OPERACIÓN, Operación::CLUSTER_TIME, CONEXIÓN_ID, ].freeze
Colapso delresumen de atributos de instancia
-
#dirección ⇒ Dirección
solo lectura
Dirección La dirección del servidor.
-
#tiempo_promedio_de_ida_y_vuelta ⇒ Flotante
solo lectura
El tiempo promedio móvil que tardó la llamada de saludo en completarse.
-
#config ⇒ Hash
solo lectura
El resultado real del comando hello.
-
#last_update_monotime ⇒ Float
solo lectura
privada
Hora en que se creó esta descripción del servidor según el reloj monótono.
-
#last_update_time ⇒ Time
solo lectura
Hora en que se creó esta descripción del servidor.
-
#minimum_round_trip_time ⇒ Float
solo lectura
El tiempo mínimo que tardó en completarse las últimas diez llamadas de saludo.
Colapso del resumen del método de instancia
-
#==(otro) ⇒ verdadero, falso (también: #eql?)
Comprobar la igualdad de dos descripciones.
-
#¿árbitro? ⇒ verdadero, falso
Devuelve si este servidor es un árbitro, según la especificación SDAM.
-
#árbitros ⇒ Array<String>
Obtenga una lista de todos los árbitros en el conjunto de réplicas.
-
#data_bearing? ⇒ verdadero, falso
Si esta descripción proviene de un servidor que contiene datos (independiente, mongos, primario o secundario).
-
#election_id ⇒ BSON::ObjectId
Obtenga el electionId de la configuración.
-
#características ⇒ Características
Características Las características del servidor.
-
#¿fantasma? ⇒ verdadero, falso
Si este servidor es un fantasma, según la especificación SDAM.
-
#¿oculto? ⇒ verdadero, falso
Devolverá verdadero si el servidor está oculto.
-
#hosts ⇒ Matriz<String>
Obtenga una lista de todos los servidores en el conjunto de réplicas.
-
#inicializar(dirección, configuración = {}, tiempo promedio de ida y vuelta: nulo, tiempo mínimo de ida0 y vuelta:, balanceador de carga: falso, balanceador de carga forzado: falso) ⇒ Descripción
constructor
privada
Cree una instancia de la nueva descripción del servidor a partir del resultado del comando hello o fabrique una descripción de marcador de posición para servidores desconocidos y LoadBalancer.
-
#inspeccionar ⇒ Cadena
Inspeccione la descripción del servidor.
- #is_server?(servidor) ⇒ verdadero, falso Obsoleto Obsoleto.
-
#fecha_de_última_escritura ⇒ Hora
Obtenga la lastWriteDate del subdocumento lastWrite en la configuración.
- #lists_server?(servidor) ⇒ verdadero, falso Obsoleto Obsoleto.
-
#balanceador_de_carga? ⇒ verdadero | falso
Devuelve si este servidor es un balanceador de carga.
-
#logical_session_timeout ⇒ Integer?
Obtenga los logicalSessionTimeoutMinutes de la configuración.
-
#tamaño_máximo_del_objeto_bson ⇒ Entero
Obtenga el tamaño máximo del objeto BSON para esta versión del servidor.
-
#max_message_size ⇒ Integer
Obtenga el tamaño máximo de mensaje para esta versión del servidor.
-
#max_wire_version ⇒ Integer
Obtenga la versión máxima de cable.
-
#max_write_batch_size ⇒ Entero
Obtenga el tamaño máximo de lote para escrituras.
-
#yo ⇒ Cadena
Obtenga el valor del campo yo.
-
#me_mismatch? ⇒ verdadero, falso
Verifique si hay una discordancia entre la dirección del host y el campo yo.
-
#min_wire_version ⇒ Entero
Obtenga la versión mínima del cable.
-
#mongocryptd? ⇒ verdadero, falso
Si esta descripción es de un servidor mongocryptd.
-
#mongos? ⇒ verdadero, falso
Retorna si este servidor es un mongos, según la especificación SDAM.
- #ok? ⇒ Boolean privada
-
#op_time ⇒ BSON::Timestamp
opTime en el subdocumento lastWrite de la respuesta de saludo.
-
#otro? ⇒ verdadero, falso
Devuelve si el servidor es otro, según la especificación SDAM.
-
#pasivo? ⇒ verdadero, falso
Devolverá verdadero si el servidor es pasivo.
-
#pasivos ⇒ Array<String>
Obtenga una lista de los servidores pasivos en el clúster.
-
#¿primario? ⇒ verdadero, falso
Devuelve si este servidor es principal, según la especificación SDAM.
-
#host_principal ⇒ Cadena | nulo
Obtenga la dirección del host principal.
-
#miembro_del_conjunto_de_réplicas? ⇒ verdadero, falso
¿Esta descripción corresponde a un miembro del conjunto de réplicas?
-
#nombre_conjunto_réplica ⇒ Cadena?
Obtiene el nombre del conjunto de réplicas al que pertenece el servidor, devuelve nulo si no hay ninguno.
-
#¿secundario? ⇒ verdadero, falso
Retorna si este servidor es secundario, según la especificación SDAM.
- #server_connection_id ⇒ Objeto
-
#server_type ⇒ Symbol
Devuelve el tipo de servidor como un símbolo.
- #server_version_gte?(version) ⇒ Boolean privada
-
#servidores ⇒ Array<String>
Obtenga una lista de todos los servidores conocidos por el clúster.
-
#service_id ⇒ nulo | Objeto
El identificador del servicio, si lo hay.
-
#set_version ⇒ Integer
Obtenga setVersion de la configuración.
-
#independiente? ⇒ verdadero, falso
Devuelve si este servidor es independiente, según la especificación SDAM.
-
#etiquetas ⇒ Hash
Obtenga las etiquetas configuradas para el servidor.
-
#topology_version ⇒ TopologyVersion | nil
La versión de la topología.
-
#topología_versión_gt?(otra_desc) ⇒ verdadero | falso
privada
Devuelve si la versión de topología en esta descripción es potencialmente más nueva o igual que la versión de topología en otra descripción.
-
#topología_versión_gte?(otra_desc) ⇒ verdadero | falso
privada
Devuelve si la versión de topología en esta descripción es potencialmente más nueva que la versión de topología en otra descripción.
-
#unknown? ⇒ true, false
Devuelve si este servidor es desconocido, según la especificación SDAM.
-
#versiones_de_cable ⇒ Rango
Obtenga la gama de versiones de cable compatibles con el servidor.
Detalles del constructor
#inicializar(dirección, configuración = {}, tiempo promedio de ida y vuelta: nulo, tiempo mínimo de ida0 y vuelta:, balanceador de carga: falso, balanceador de carga forzado: falso) ⇒ Descripció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.
Cree una instancia de la nueva descripción del servidor a partir del resultado del comando hello o fabrique una descripción de marcador de posición para servidores desconocidos y LoadBalancer.
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 |
# Archivo 'lib/mongo/server/description.rb', línea 220 def inicializar(dirección, config = {}, tiempo promedio de ida y vuelta: nulo, tiempo mínimo de ida y vuelta: 0, equilibrador de carga: false, equilibrador de carga de fuerza: false ) @DIRECCIÓN = dirección @config = config @balanceador de carga = !!equilibrador de carga @balanceador de carga de fuerza = !!equilibrador de carga de fuerza @características = Características.Nuevo(versiones de cable, me || @DIRECCIÓN.a_s) @tiempo_promedio_de_viaje_de_ida_y_vuelta = tiempo promedio de ida y vuelta @tiempo mínimo de ida y vuelta = tiempo mínimo de ida y vuelta @last_update_time = Tiempo.ahora.freeze @last_update_monotime = Utils.monotonic_time Si equilibrador de carga # Cuando se establece la opción URI loadBalanced=true, el controlador rechazará # para funcionar si el servidor con el que se comunica no establece serviceId # en la respuesta ismaster/hello. # # En este momento no podemos ejecutar una configuración de balanceador de carga adecuada en Evergreen # # Por lo tanto, cuando se utiliza la opción Ruby connect=:load_balanced # de la opción URI loadBalanced=true, si serviceId no está configurado en # respuesta ismaster/hello, el controlador fabrica un serviceId y # procede a tratar un servidor que no se reporta como tal # detrás de un balanceador de carga como un servidor que está detrás de un balanceador de carga. # # 5.0+ servidores deben proporcionar topologyVersion.processId que # es específico de la instancia de proceso en particular. Podemos usarlo # campo como proxy para serviceId. # # Si no se proporciona la topologíaVersion por cualquier motivo, # fabricar un serviceId localmente. # # En cualquier caso, un serviceId proporcionado por un servidor real detrás # Se supone que un balanceador de carga es un BSON::ObjectId. El fabricado # Los identificadores de servicio son cadenas para distinguirlos de los reales. # En particular, processId también es un BSON::ObjectId, pero será # asignado a una cadena para mayor claridad de que se trata de una identificación de servicio falsa. # # TODO: Eliminar esto cuando https://jira.mongodb.org/browse/RUBY-2881 haya terminado. Si ok? && !id_de_servicio a no ser que equilibrador de carga de fuerza propagar Error::Id. de servicio faltante, "Elservidor en #{address.seed} no proporcionó un ID de servicio en la respuesta del protocolo deenlace" end ID de servicio falso = Si id_del_proceso = versión_de_topología && versión_de_topología['processId'] "proceso:#{process_id}" else "falso:#{rand(2**32-1)+1 " end @config = @config.unir('ID de servicio' => ID de servicio falso) end end Si Mongo::Lint.¿activado? Variables de instancia de caché pregeneradas Hospedadores Árbitros pasivos versión_de_topología freeze end end |
Detalles de los atributos de instancia
#dirección ⇒ Dirección (solo lectura)
Devuelve la dirección La dirección del servidor.
287 288 289 |
# Archivo 'lib/mongo/server/description.rb', línea 287 def dirección @DIRECCIÓN end |
#tiempo_promedio_de_ida_y_vuelta ⇒ Flotante (solo lectura)
Devuelve el tiempo promedio móvil que tardó la llamada de saludo en completarse.
305 306 307 |
# Archivo 'lib/mongo/server/description.rb', línea 305 def tiempo promedio de ida y vuelta @tiempo_promedio_de_viaje_de_ida_y_vuelta end |
#config ⇒ Hash (solo lectura)
Devuelve el resultado real del comando hello.
290 291 292 |
# Archivo 'lib/mongo/server/description.rb', línea 290 def config @config end |
#last_update_monotime ⇒ 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.
Hora en que se creó esta descripción del servidor según el reloj monótono.
848 849 850 |
# Archivo 'lib/mongo/server/description.rb', línea 848 def last_update_monotime @last_update_monotime end |
#last_update_time ⇒ Hora (solo lectura)
Este tiempo no indica cuándo se realizó una verificación del servidor exitosa
Hora en que se creó esta descripción del servidor.
Completado, ya que al marcar un servidor como desconocido se actualizan su descripción y la hora de la última actualización. Use Server#last_scan para averiguar cuándo el servidor fue revisado correctamente por última vez por su monitor.
839 840 841 |
# Archivo 'lib/mongo/server/description.rb', línea 839 def last_update_time @last_update_time end |
#tiempo_mínimo_de_ida_y_vuelta ⇒ Flotante (solo lectura)
Devuelve el tiempo mínimo que tardaron en completarse las últimas diez llamadas de saludo.
309 310 311 |
# Archivo 'lib/mongo/server/description.rb', línea 309 def tiempo mínimo de ida y vuelta @tiempo mínimo de ida y vuelta end |
Detalles del método de instancia
#==(otro) ⇒ verdadero, falso También conocido como: eql?
Comprobar la igualdad de dos descripciones.
872 873 874 875 876 877 878 879 |
# Archivo 'lib/mongo/server/description.rb', línea 872 def ==(otros) return false Si yo.clase != otros.clase return false Si ¿desconocido? || otros.¿desconocido? (config.claves + otros.config.claves).único.¿todo? hacer |k| config[k] == otros.config[k] || EXCLUIR PARA COMPARACIÓN.¿incluir?(k) end end |
#¿árbitro? ⇒ verdadero, falso
Devuelve si este servidor es un árbitro, según la especificación SDAM.
319 320 321 322 323 |
# Archivo 'lib/mongo/server/description.rb', línea 319 def ¿árbitro? ok? && config['árbitroSolo '] == true && !!config['setName'] end |
#árbitros ⇒ Array<String>
Obtenga una lista de todos los árbitros en el conjunto de réplicas.
333 334 335 |
# Archivo 'lib/mongo/server/description.rb', línea 333 def Árbitros @árbitros ||= (config[ÁRBITROS] || []).map { |s| s.mayúsculas y minúsculas } end |
#data_bearing? ⇒ verdadero, falso
Si esta descripción proviene de un servidor que contiene datos (independiente, mongos, primario o secundario).
794 795 796 |
# Archivo 'lib/mongo/server/description.rb', línea 794 def ¿datos_de_portador? mongos? || ¿primario? || ¿secundario? || ¿autónomo? end |
#id_elección ⇒ BSON::Id_objeto
Obtenga el electionId de la configuración.
481 482 483 |
# Archivo 'lib/mongo/server/description.rb', línea 481 def id_elección config[ID DE ELECCIÓN] end |
#features ⇒ funcionalidad
Devuelve características Las características del servidor.
300 301 302 |
# Archivo 'lib/mongo/server/description.rb', línea 300 def características @características end |
#¿fantasma? ⇒ verdadero, falso
Si este servidor es un fantasma, según la especificación SDAM.
345 346 347 348 |
# Archivo 'lib/mongo/server/description.rb', línea 345 def ghost? ok? && config['es un conjunto de réplicas'] == true end |
#¿oculto? ⇒ verdadero, falso
Devolverá verdadero si el servidor está oculto.
358 359 360 |
# Archivo 'lib/mongo/server/description.rb', línea 358 def hidden? ok? && !!config[ESCONDIDO] end |
#hosts ⇒ Matriz<String>
Obtenga una lista de todos los servidores en el conjunto de réplicas.
370 371 372 |
# Archivo 'lib/mongo/server/description.rb', línea 370 def Hospedadores @anfitriones ||= (config[HOSTS] || []).map { |s| s.mayúsculas y minúsculas } end |
#inspeccionar ⇒ Cadena
Inspeccione la descripción del servidor.
382 383 384 |
# Archivo 'lib/mongo/server/description.rb', línea 382 def inspeccionar "#<Mongo::Server:Description:0x#{object_id} config=#{config} tiempo_de_ida_y_vuelta_promedio=#{tiempo_de_ida_y_vuelta_promedio}>" end |
#is_server?(servidor) ⇒ verdadero, falso
¿Esta descripción es del servidor dado?
756 757 758 |
# Archivo 'lib/mongo/server/description.rb', línea 756 def is_server?(Server) dirección == Server.dirección end |
#fecha_de_última_escritura ⇒ Hora
Obtenga la lastWriteDate del subdocumento lastWrite en la configuración.
546 547 548 |
# Archivo 'lib/mongo/server/description.rb', línea 546 def fecha de última escritura config[ÚLTIMA ESCRITURA][FECHA DE ÚLTIMA ESCRITURA] Si config[ÚLTIMA ESCRITURA] end |
#lists_server?(servidor) ⇒ verdadero, falso
Es un servidor incluido en la lista de servidores de esta descripción.
770 771 772 |
# Archivo 'lib/mongo/server/description.rb', línea 770 def listas_servidor?(Server) servidores.¿incluir?(Server.dirección.a_s) end |
#balanceador_de_carga? ⇒ verdadero | falso
Devuelve si este servidor es un balanceador de carga.
295 296 297 |
# Archivo 'lib/mongo/server/description.rb', línea 295 def ¿equilibrador de carga? @balanceador de carga end |
#logical_session_timeout ⇒ Integer?
Obtenga los logicalSessionTimeoutMinutes de la configuración.
558 559 560 |
# Archivo 'lib/mongo/server/description.rb', línea 558 def tiempo de espera de sesión lógica config[MINUTOS DE TIEMPO DE ESPERA DE SESIÓN LÓGICA] Si config[MINUTOS DE TIEMPO DE ESPERA DE SESIÓN LÓGICA] end |
#max_bson_object_size ⇒ Integer
Obtenga el tamaño máximo del objeto BSON para esta versión del servidor.
394 395 396 |
# Archivo 'lib/mongo/server/description.rb', línea 394 def tamaño máximo del objeto bson config[TAMAÑO MÁXIMO DEL OBJETO BSON] end |
#tamaño_máximo_del_mensaje ⇒ Entero
Obtenga el tamaño máximo de mensaje para esta versión del servidor.
406 407 408 |
# Archivo 'lib/mongo/server/description.rb', línea 406 def config[MÁXIMO_BYTES_DE_MENSAJE] end |
#max_wire_version ⇒ Integer
Obtener la versión máxima del cable. El valor predeterminado es cero.
430 431 432 |
# Archivo 'lib/mongo/server/description.rb', línea 430 def versión máxima del cable config[VERSIÓN MÁXIMA DEL CABLE] || 0 end |
#tamaño máximo del lote de escritura ⇒ Entero
Obtenga el tamaño máximo de lote para escrituras.
418 419 420 |
# Archivo 'lib/mongo/server/description.rb', línea 418 def tamaño máximo del lote de escritura config[MAX_WRITE_BATCH_SIZE] || TAMAÑO MÁXIMO DE LOTE DE ESCRITURA PREDETERMINADO end |
#yo ⇒ Cadena
El valor del campo "me" puede diferir de la dirección de la descripción del servidor. Esto puede ocurrir, por ejemplo, en configuraciones de horizonte dividido. La especificación SDAM solo requiere eliminar servidores cuyo "me" no coincida con su dirección en algunas situaciones (por ejemplo, cuando el servidor en cuestión es miembro de RS, pero no principal).
Obtenga el valor del campo yo.
457 458 459 |
# Archivo 'lib/mongo/server/description.rb', línea 457 def me config[ME] end |
#me_mismatch? ⇒ verdadero, falso
Verifique si hay una discordancia entre la dirección del host y el campo yo.
806 807 808 |
# Archivo 'lib/mongo/server/description.rb', línea 806 def ¿me_desajuste? !!(dirección.a_s.mayúsculas y minúsculas != me.mayúsculas y minúsculas Si me) end |
#min_wire_version ⇒ Entero
Obtener la versión mínima del cable. El valor predeterminado es cero.
442 443 444 |
# Archivo 'lib/mongo/server/description.rb', línea 442 def versión mínima del cable config[VERSIÓN MÍNIMA DEL CABLE] || 0 end |
#mongocryptd? ⇒ verdadero, falso
Si esta descripción es de un servidor mongocryptd.
814 815 816 |
# Archivo 'lib/mongo/server/description.rb', línea 814 def mongocryptd? ok? && config['iscryptd'] == true end |
#mongos? ⇒ verdadero, falso
Retorna si este servidor es un mongos, según la especificación SDAM.
570 571 572 |
# Archivo 'lib/mongo/server/description.rb', línea 570 def mongos? ok? && config['msg'] == 'isdbgrid' end |
#ok? ⇒ 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.
731 732 733 |
# Archivo 'lib/mongo/server/description.rb', línea 731 def ok? config[Operación::Resultado::Vale] == 1 end |
#op_time ⇒ BSON::Timestamp
opTime en el subdocumento lastWrite de la respuesta de saludo.
823 824 825 826 827 |
# Archivo 'lib/mongo/server/description.rb', línea 823 def tiempo de operación Si config['última escritura '] && config['última escritura ']['opTime '] config['última escritura ']['opTime ']['ts'] end end |
#otro? ⇒ verdadero, falso
Devuelve si el servidor es otro, según la especificación SDAM.
582 583 584 585 586 587 588 589 590 591 |
# Archivo 'lib/mongo/server/description.rb', línea 582 def ¿otro? # La especificación SDAM es un poco confusa sobre lo que significa "otro". # pero se le conoce como "RSOther", que significa que no es miembro de RS # no puede ser "otro". ok? && !!config['setName'] && ( config['hidden'] == true || !¿primario? && !¿secundario? && !¿árbitro? ) end |
#pasivo? ⇒ verdadero, falso
Devolverá verdadero si el servidor es pasivo.
601 602 603 |
# Archivo 'lib/mongo/server/description.rb', línea 601 def ¿pasivo? ok? && !!config[PASIVO] end |
#pasivos ⇒ Array<String>
Obtenga una lista de los servidores pasivos en el clúster.
613 614 615 |
# Archivo 'lib/mongo/server/description.rb', línea 613 def pasivos @pasivos ||= (config[PASIVOS] || []).map { |s| s.mayúsculas y minúsculas } end |
#¿primario? ⇒ verdadero, falso
Devuelve si este servidor es principal, según la especificación SDAM.
637 638 639 640 641 |
# Archivo 'lib/mongo/server/description.rb', línea 637 def ¿primario? ok? && (config['ismaster'] == true || config[' esEscribiblePrimario '] == true ) && !!config['setName'] end |
#host_principal ⇒ Cadena | nulo
Obtenga la dirección del host principal.
625 626 627 |
# Archivo 'lib/mongo/server/description.rb', línea 625 def host principal config[HOST PRINCIPAL] && config[HOST PRINCIPAL].mayúsculas y minúsculas end |
#miembro_del_conjunto_de_réplicas? ⇒ verdadero, falso
¿Esta descripción corresponde a un miembro del conjunto de réplicas?
783 784 785 |
# Archivo 'lib/mongo/server/description.rb', línea 783 def ¿miembro del conjunto de réplicas? ok? && !(¿autónomo? || mongos?) end |
#nombre_conjunto_réplica ⇒ Cadena?
Obtiene el nombre del conjunto de réplicas al que pertenece el servidor, devuelve nulo si no hay ninguno.
652 653 654 |
# Archivo 'lib/mongo/server/description.rb', línea 652 def nombre_del_conjunto_de_réplicas config[NOMBRE DEL CONJUNTO] end |
#¿secundario? ⇒ verdadero, falso
Retorna si este servidor es secundario, según la especificación SDAM.
676 677 678 679 680 |
# Archivo 'lib/mongo/server/description.rb', línea 676 def ¿secundario? ok? && config['secundario'] == true && !!config['setName'] end |
#id_de_conexión_del_servidor ⇒ Objeto
851 852 853 |
# Archivo 'lib/mongo/server/description.rb', línea 851 def id_de_conexión_del_servidor config['Id de conexión'] end |
#server_type ⇒ Symbol
Devuelve el tipo de servidor como un símbolo.
690 691 692 693 694 695 696 697 698 699 700 |
# Archivo 'lib/mongo/server/description.rb', línea 690 def tipo_de_servidor return :balanceador de carga Si ¿equilibrador de carga? return :árbitro Si ¿árbitro? return :ghost Si ghost? return :fragmentado Si mongos? return :primario Si ¿primario? return :secundario Si ¿secundario? return :autónomo Si ¿autónomo? return :otro Si ¿otro? :desconocido end |
#server_version_gte?(version) ⇒ 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.
883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 |
# Archivo 'lib/mongo/server/description.rb', línea 883 def server_version_gte?(Versión) requerido_wv = caso Versión Cuando '7.0' 21 Cuando '6.0' 17 Cuando '5.2' 15 Cuando '5.1' 14 Cuando '5.0' 12 Cuando '4.4' 9 Cuando '4.2' 8 Cuando '4.0' 7 Cuando '3.6' 6 Cuando '3.4' 5 Cuando '3.2' 4 Cuando '3.0' 3 Cuando '2.6' 2 else propagar ArgumentError, "Versiónrequerida falsa #{version }" end Si ¿equilibrador de carga? # Si estamos hablando con un balanceador de carga, no hay monitoreo # y no sabemos qué servidor está detrás del balanceador de carga. # Supongamos que todo es compatible. # TODO eliminar esto cuando se implementa RUBY-2220. return true end requerido_wv >= versión mínima del cable && requerido_wv < = versión máxima del cable end |
#servidores ⇒ Array<String>
Obtenga una lista de todos los servidores conocidos por el clúster.
664 665 666 |
# Archivo 'lib/mongo/server/description.rb', línea 664 def servidores Hospedadores + Árbitros + pasivos end |
#service_id ⇒ nil | objeto
Devuelve el ID del servicio, si lo hay.
858 859 860 |
# Archivo 'lib/mongo/server/description.rb', línea 858 def id_de_servicio config['ID de servicio'] end |
#set_version ⇒ Integer
Obtenga setVersion de la configuración.
493 494 495 |
# Archivo 'lib/mongo/server/description.rb', línea 493 def establecer_versión config[VERSIÓN DEL ESTABLECIMIENTO] end |
#independiente? ⇒ verdadero, falso
Devuelve si este servidor es independiente, según la especificación SDAM.
710 711 712 713 714 715 |
# Archivo 'lib/mongo/server/description.rb', línea 710 def ¿autónomo? ok? && config['msg'] != 'isdbgrid' && config['setName'].nil? && config['es un conjunto de réplicas'] != true end |
#etiquetas ⇒ Hash
Obtenga las etiquetas configuradas para el servidor.
469 470 471 |
# Archivo 'lib/mongo/server/description.rb', línea 469 def config[ETIQUETAS] || {} end |
#topology_version ⇒ TopologyVersion | nil
Devuelve la versión de la topología.
498 499 500 501 502 503 504 |
# Archivo 'lib/mongo/server/description.rb', línea 498 def versión_de_topología a no ser que ¿definido?(@topology_version) @topology_version = config['topologyVersion'] && TopologyVersion.Nuevo(config['topologyVersion']) end @topology_version end |
#topología_versión_gt?(otra_desc) ⇒ 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 la versión de topología en esta descripción es potencialmente más nueva o igual que la versión de topología en otra descripción.
514 515 516 517 518 519 520 |
# Archivo 'lib/mongo/server/description.rb', línea 514 def topology_version_gt?(otra_desc) Si versión_de_topología.nil? || otra_desc.versión_de_topología.nil? true else versión_de_topología.gt?(otra_desc.versión_de_topología) end end |
#topología_versión_gte?(otra_desc) ⇒ 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 la versión de topología en esta descripción es potencialmente más nueva que la versión de topología en otra descripción.
530 531 532 533 534 535 536 |
# Archivo 'lib/mongo/server/description.rb', línea 530 def topology_version_gte?(otra_desc) Si versión_de_topología.nil? || otra_desc.versión_de_topología.nil? true else versión_de_topología.gte?(otra_desc.versión_de_topología) end end |
#¿desconocido? ⇒ true, false
Devuelve si este servidor es desconocido, según la especificación SDAM.
725 726 727 728 |
# Archivo 'lib/mongo/server/description.rb', línea 725 def ¿desconocido? return false Si ¿equilibrador de carga? config.¿vacío? || config.claves == %w(topologyVersion) || !ok? end |
#versiones_de_cable ⇒ Rango
Obtenga la gama de versiones de cable compatibles con el servidor.
743 744 745 |
# Archivo 'lib/mongo/server/description.rb', línea 743 def versiones de cable versión mínima del cable..versión máxima del cable end |