Clase: Mongo::Servidor::Descripción
- Hereda:
-
Objeto
- Objeto
- Mongo::servidor::descripción
- Definido en:
- lib/mongo/servidor/descripción.rb,
lib/mongo/servidor/descripción/funcionalidades.rb,
lib/mongo/servidor/descripción/load_balancer.rb
Overview
Representa una descripción del servidor, configurada por 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 los tenga. Actualmente, el controlador a veces construye comandos cuando el servidor no se conoce, por lo que las referencias a min_wire_version y max_wire_version no deben ser nil. Cuando se cambia el comportamiento del driver (https://jira.mongodb.org/browse/RUBY-1805), esto ya puede no ser necesario.
Definido bajo Namespace
clase: funcionalidades, Balanceador de Carga
Resumen de constantes colapsar
- árbitro =
Obsoleto.
Constante para leer la información del árbitro de la configuración.
'solo árbitro'- árbitro =
Constante para leer información de árbitros desde la configuración.
'Árbitros'- OCULTO =
Constante para leer información oculta desde la configuración.
'ocultos'- host =
Constante para leer la información de hosts de la configuración.
'host'- MENSAJE =
Obsoleto.
Constante de la clave para el valor del mensaje.
'msg'- MONGOS_MESSAGE =
Obsoleto.
Constante para el mensaje que indica un clúster particionado.
'isdbgrid'- REPLICA_SET =
Obsoleto.
Constante para determinar servidores fantasma.
'isreplicaset'- MAX_BSON_OBJECT_SIZE =
Constante para leer la información del tamaño máximo de bson desde la configuración.
'maxBsonObjectSize'- MAX_MESSAGE_BYTES =
Constante para leer la información del tamaño máximo de mensaje de la configuración.
'maxMessageSizeBytes'- MAX_WIRE_VERSION =
Constante para la versión máxima del cableado.
'maxWireVersion'- MIN_WIRE_VERSION =
Constante para la versión mínima del cable.
'minWireVersion'- MAX_WRITE_BATCH_SIZE =
Constante para leer el tamaño máximo del lote de guardado agrupado.
'maxWriteBatchSize'- LAST_WRITE =
Constante para el subdocumento lastWrite.
'última es'- LAST_WRITE_DATE =
Constante para el campo lastWriteDate en el subdocumento lastWrite.
'lastWriteDate'- ME =
Constante para leer el campo me.
'me'- DEFAULT_MAX_WRITE_BATCH_SIZE =
Tamaño máximo de agrupar de guardar por defecto.
1000- LEGACY_WIRE_VERSION =
Obsoleto.
Se eliminará en 3.0.
La versión del protocolo de conexión heredado.
0- PASIVO =
Constante para leer información pasiva de la configuración.
'PASIVO'- PASIVOS =
Constante para leer la lista de servidores pasivos.
'pasivos'- primario/a =
Obsoleto.
Constante para leer la información primaria de la configuración.
'esprincipal'- PRIMARY_HOST =
Constante para leer el campo de host primario desde la configuración.
'primario'- secundario =
Obsoleto.
Constante para leer información secundaria desde la configuración.
'secundario'- SET_NAME =
Constante para leer la información del nombre del set de réplicas desde config.
'nombre del conjunto'- etiqueta =
Constante para leer información de etiquetas de la configuración.
'etiqueta'- ELECTION_ID =
Constante para leer la información de electionId de la configuración.
'electionId'- SET_VERSION =
Constante para leer la información setVersion de la configuración.
'setVersion'- LOCAL_TIME =
Constante para leer la información de localTime desde la configuración.
'hora local'- TIEMPO_DE_OPERACION =
Constante para leer la información de operationTime desde la configuración.
'tiempo de operación'- LOGICAL_SESSION_TIMEOUT_MINUTES =
Constante para leer la información logicalSessionTimeoutMinutes desde config.
'logicalSessionTimeoutMinutes'- CONNECTION_ID =
Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.
Constante para leer la información de connectionId desde la configuración.
'connectionId'- EXCLUDE_FOR_COMPARISON =
Campos para excluir al comparar dos descripciones.
[ LOCAL_TIME, ULTIMA_ESCRITURA, OPERATION_TIME, Operación::CLUSTER_TIME, CONEXIÓN_ID, ].freeze
- SERVER_VERSION_WIRE_VERSION_MAP =
Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.
{ '8.2' => 27, '8.0' => 25, '7.0' => 21, '6.0' => 17, '5.2' => 15, '5.1' => 14, '5.0' => 12, '4.4' => 9, '4.2' => 8, }.freeze
Resumen de atributos de la instancia colapsar
-
#dirección ⇒ Dirección
Solo lectura
Dirección La dirección del servidor.
-
#average_round_trip_time ⇒ Float
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.
-
#features ⇒ Funcionalidades
Solo lectura
Funcionalidades Las funcionalidades del servidor.
-
#last_update_monotime ⇒ Float
Solo lectura
privado
Tiempo de creación de 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 tardaron en completarse las diez últimas llamadas de saludo.
Resumen del método de instancia colapsar
-
#==(otro) ⇒ true, false (también: #eql?)
Comprueba la igualdad de dos descripciones.
-
#árbitro? ⇒ true, false
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 set de réplicas.
-
#portador_de_datos? ⇒ true, false
Si esta descripción proviene de un servidor que almacena datos (autónomo, mongos, primario o secundario).
-
#election_id ⇒ BSON::ObjectId
Obtenga el ID de elección de la configuración.
-
#ghost? ⇒ true, false
Si este servidor es un fantasma, según la especificación SDAM.
-
#hidden? ⇒ true, false
Devolverá true si el servidor está oculto.
-
#hosts ⇒ Array<String>
Obtenga una lista de todos los servidores en el set de réplicas.
-
#initialize(address, config = {}, average_round_trip_time: nil, minimum_round_trip_time: 0, load_balancer: false, force_load_balancer: false) ⇒ Descripción
constructor
privado
Cree la nueva descripción del servidor a partir del resultado del comando hello o fabrique una descripción de marcador de posición para los servidores Unknown y LoadBalancer.
-
#inspect ⇒ string
Inspecciona la descripción del servidor.
- #is_server?(servidor) ⇒ true, false Obsoleto Obsoleto.
-
#last_write_date ⇒ Time
Obtenga el lastWriteDate del subdocumento lastWrite en la configuración.
- #lists_servidor?(servidor) ⇒ true, false Obsoleto Obsoleto.
-
#load_balancer? ⇒ true | false
Devuelve si este servidor es un balanceador de carga.
-
#logical_session_timeout ⇒ Integer?
Obtener logicalSessionTimeoutMinutes desde la configuración.
-
#max_bson_object_size ⇒ Integer
Obtén el tamaño máximo de 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
Obtener la versión máxima del cable.
-
#max_write_batch_size ⇒ Entero
Obten el tamaño máximo de agrupación para guardados.
-
#me ⇒ String
Obtiene el valor del campo me.
-
#me_desfase? ⇒ verdadero, falso
Comprueba si hay una discrepancia entre el host de la dirección y el campo me.
-
#min_wire_version ⇒ Integer
Obtenga la versión mínima de red.
-
#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 privado
-
#op_time ⇒ BSON::Timestamp
opTime en el subdocumento lastWrite de la respuesta hello.
-
#¿otro? ⇒ verdadero, falso
Devuelve si el servidor es de otro tipo, según la especificación SDAM.
-
#¿pasivo? ⇒ verdadero, falso
Devolverá verdadero si el servidor está en modo pasivo.
-
#pasivos ⇒ arreglo<String>
Obtén una lista de los servidores pasivos en el clúster.
-
#primario? ⇒ verdadero, falso
Devuelve si este servidor es un primario, según la especificación SDAM.
-
#primary_host ⇒ String | nil
Obtenga la dirección del host principal.
-
#miembro_de_replica? ⇒ true, false
¿Esta descripción corresponde a un miembro de un set de réplicas?.
-
#replica_set_name ⇒ String?
Obtenga el nombre del set de réplicas al que pertenece el servidor, devuelve nil 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 privado
-
#servidores ⇒ Array<String>
Consigue una lista de todos los servidores conocidos por el clúster.
-
#service_id ⇒ nil | Objeto
El id. del servicio, si lo hay.
-
#set_version ⇒ Integer
Obtenga el setVersion de la configuración.
-
#autónomo? ⇒ true, false
Devuelve si este servidor es autónomo, según la especificación SDAM.
-
#etiquetas ⇒ Hash
Obtén las etiquetas configuradas para el servidor.
-
#topology_version ⇒ TopologyVersion | nil
La versión de la topología.
-
#topology_version_gt?(other_desc) ⇒ true | false
privado
Devuelve si la versión de topología en esta descripción es potencialmente más reciente o igual a la versión de topología en otra descripción.
-
#topology_version_gte?(other_desc) ⇒ true | false
privado
Devuelve si la versión de topología en esta descripción es posiblemente más reciente 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.
-
#wire_versions ⇒ rango
Obtén el rango de versiones de wire admitidas para el servidor.
Detalles del Constructor
#inicializar(address, config = {}, average_round_trip_time: nil, minimum_round_trip_time: 0, load_balancer: false, force_load_balancer: false) ⇒ Descripción
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.
Cree la nueva descripción del servidor a partir del resultado del comando hello o fabrique una descripción de marcador de posición para los servidores Unknown y LoadBalancer.
216 217 218 219 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 |
# Archivo 'lib/mongo/server/description.rb', línea 216 def inicializar(dirección, config = {}, average_round_trip_time: nulo, minimum_round_trip_time: 0, equilibrador_de_carga: false, force_load_balancer: false) @address = dirección @config = config @load_balancer = !!balanceador de carga @force_load_balancer = !!force_load_balancer @características = Características.Nuevo(wire_versions, me || @address.to_s) @average_round_trip_time = average_round_trip_time @minimum_round_trip_time = minimum_round_trip_time @last_update_time = Tiempo.ahora.freeze @last_update_monotime = Utils.monotonic_time # Cuando la opción URI loadBalanced=true está configurada, el driver 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 adecuada de balanceador de carga 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 # ismaster/hola respuesta, el controlador fabrica un serviceId y # procede a tratar un servidor que no se informa como # detrás de un balanceador de carga como un servidor que se encuentra detrás de un balanceador de carga. # # 5.0+ los servidores deben proporcionar topologyVersion.processId que # es específico para la instancia particular del proceso. Podemos usar eso # campo como proxy para serviceId. # # Si topologyVersion no se proporciona por alguna razón, nosotros # 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 de texto, para distinguirlas de los reales. # En particular processId también es un BSON::ObjectId, pero será # mapped to a string for clarity that this is a fake service ID. # # TODO: remover esto cuando https://jira.mongodb.org/browse/RUBY-2881 esté terminado. si balanceador de carga && ok? && !service_id a menos que force_load_balancer propagar Error::ServicioIdFaltante, "El servidor en #{address.seed} no proporcionó un ID de servicio en la respuesta de handshake" end fake_service_id = si process_id = topology_version && topology_version['processId'] "proceso:#{process_id}" else "fake:#{rand((2**32) - 1) + 1}" end @config = @config.fusionar('serviceId' => fake_service_id) end return a menos que mongo::Lint.¿habilitado? Variables de instancia de caché pregeneradas host Árbitros pasivos topology_version freeze end |
Detalles de atributo de instancias
#address ⇒ Dirección (solo lectura)
Devuelve la dirección La dirección del servidor.
281 282 283 |
# Archivo 'lib/mongo/server/description.rb', línea 281 def dirección @address end |
#average_round_trip_time ⇒ Float (solo lectura)
Devuelve el tiempo promedio móvil que tardó en completarse la llamada hello.
297 298 299 |
# Archivo 'lib/mongo/server/description.rb', línea 297 def average_round_trip_time @average_round_trip_time end |
#config ⇒ Hash (solo lectura)
Devuelve el resultado real del comando hello.
284 285 286 |
# Archivo 'lib/mongo/server/description.rb', línea 284 def config @config end |
#funcionalidades ⇒ Funcionalidades (solo lectura)
Devuelve funcionalidades Las funcionalidades del servidor.
294 295 296 |
# Archivo 'lib/mongo/server/description.rb', línea 294 def Funcionalidades @características end |
#last_update_monotime ⇒ Float (solo lectura)
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.
Tiempo de creación de esta descripción del servidor según el reloj monótono.
842 843 844 |
# Archivo 'lib/mongo/server/description.rb', línea 842 def last_update_monotime @last_update_monotime end |
#last_update_time ⇒ Time (solo lectura)
Este tiempo no indica cuándo una verificación de servidor fue exitosa
Hora en que se creó esta descripción del servidor.
completado, porque marcar un servidor como desconocido actualiza su descripción y last_update_time. Usa Server#last_scan para saber cuándo fue la última vez que el Monitor comprobó correctamente el servidor.
833 834 835 |
# Archivo 'lib/mongo/server/description.rb', línea 833 def last_update_time @last_update_time end |
#minimum_round_trip_time ⇒ Float (solo lectura)
Devuelve El tiempo mínimo que tardaron en completarse las diez últimas llamadas de saludo.
301 302 303 |
# Archivo 'lib/mongo/server/description.rb', línea 301 def minimum_round_trip_time @minimum_round_trip_time end |
Detalles del método de instancia
#==(other) ⇒ verdadero, falso También conocido como: eql?
Comprueba la igualdad de dos descripciones.
866 867 868 869 870 871 872 873 |
# Archivo 'lib/mongo/server/description.rb', línea 866 def ==(Otros) return false si sí mismo.clase != Otros.clase return false si ¿desconocido? || Otros.¿desconocido? (config.claves + Otros.config.claves).uniq.¿todos? hacer |k| config[k] == Otros.config[k] || EXCLUDE_FOR_COMPARISON.incluir?(k) end end |
#árbitro? ⇒ true, false
Devuelve si este servidor es un árbitro, según la especificación SDAM.
311 312 313 314 315 |
# Archivo 'lib/mongo/server/description.rb', línea 311 def árbitro? ok? && config['soloÁrbitro'] == true && !!config['setName'] end |
#árbitros ⇒ Array<String>
Obtenga una lista de todos los árbitros en el set de réplicas.
325 326 327 |
# Archivo 'lib/mongo/server/description.rb', línea 325 def Árbitros @arbiters ||= (config[Árbitros] || []).map { |s| s.minúscula } end |
#data_bearing? ⇒ true, false
Si esta descripción proviene de un servidor que almacena datos (autónomo, mongos, primario o secundario).
788 789 790 |
# Archivo 'lib/mongo/server/description.rb', línea 788 def ¿portador de datos? mongos? || primario/a? || secundario? || autónomo? end |
#election_id ⇒ BSON::ObjectId
Obtenga el ID de elección de la configuración.
473 474 475 |
# Archivo 'lib/mongo/server/description.rb', línea 473 def election_id config[ID_ELECCIONES] end |
#ghost? ⇒ verdadero, falso
Si este servidor es un fantasma, según la especificación SDAM.
337 338 339 340 |
# Archivo 'lib/mongo/server/description.rb', línea 337 def ghost? ok? && config['isreplicaset'] == true end |
#oculto? ⇒ true, false
Devolverá true si el servidor está oculto.
350 351 352 |
# Archivo 'lib/mongo/server/description.rb', línea 350 def hidden? ok? && !!config[Oculto] end |
#hosts ⇒ arreglo<String>
Obtenga una lista de todos los servidores en el set de réplicas.
362 363 364 |
# Archivo 'lib/mongo/server/description.rb', línea 362 def host @hosts ||= (config[host] || []).map { |s| s.minúscula } end |
#inspect ⇒ String
Inspecciona la descripción del servidor.
374 375 376 |
# Archivo 'lib/mongo/server/description.rb', línea 374 def inspeccionar "#<Mongo::Servidor:Descripción:0x#{object_id} config=#{configuración} average_round_trip_time=#{average_round_trip_time}>" end |
#¿es_servidor?(servidor) ⇒ verdadero, falso
¿Esta descripción es del servidor dado?
750 751 752 |
# Archivo 'lib/mongo/server/description.rb', línea 750 def is_server?(Server) dirección == Server.dirección end |
#last_write_date ⇒ Time
Obtenga el lastWriteDate del subdocumento lastWrite en la configuración.
538 539 540 |
# Archivo 'lib/mongo/server/description.rb', línea 538 def last_write_date config[ULTIMA_ESCRITURA][FECHA_ÚLTIMA_ESCRITURA] si config[ULTIMA_ESCRITURA] end |
#lists_servidor?(servidor) ⇒ true, false
¿Se incluye un servidor en la lista de servidores de esta descripción?
764 765 766 |
# Archivo 'lib/mongo/server/description.rb', línea 764 def lists_server?(Server) servidor.incluir?(Server.dirección.to_s) end |
#equilibrador_de_carga? ⇒ true | false
Devuelve si este servidor es un balanceador de carga.
289 290 291 |
# Archivo 'lib/mongo/server/description.rb', línea 289 def load_balancer? @load_balancer end |
#logical_session_timeout ⇒ Integer?
Obtener logicalSessionTimeoutMinutes desde la configuración.
550 551 552 |
# Archivo 'lib/mongo/server/description.rb', línea 550 def logical_session_timeout config[LOGICAL_SESSION_TIMEOUT_MINUTES] si config[LOGICAL_SESSION_TIMEOUT_MINUTES] end |
#max_bson_object_size ⇒ Integer
Obtén el tamaño máximo de objeto BSON para esta versión del servidor.
386 387 388 |
# Archivo 'lib/mongo/server/description.rb', línea 386 def max_bson_object_size config[MAX_BSON_OBJECT_SIZE] end |
#max_message_size ⇒ Integer
Obtenga el tamaño máximo de mensaje para esta versión del servidor.
398 399 400 |
# Archivo 'lib/mongo/server/description.rb', línea 398 def config[MAX_MESSAGE_BYTES] end |
#max_wire_version ⇒ Integer
Obtenga la versión de línea máxima. Por defecto es cero.
422 423 424 |
# Archivo 'lib/mongo/server/description.rb', línea 422 def max_wire_version config[MAX_WIRE_VERSION] || 0 end |
#max_write_batch_size ⇒ Entero
Obten el tamaño máximo de agrupación para guardados.
410 411 412 |
# Archivo 'lib/mongo/server/description.rb', línea 410 def max_write_batch_size config[MAX_WRITE_BATCH_SIZE] || DEFAULT_MAX_WRITE_BATCH_SIZE end |
#me ⇒ String
El valor en el campo me puede diferir de la dirección de la descripción del servidor. Esto puede ocurrir, por ejemplo, en configuraciones de división Horizon. La especificación SDAM sólo requiere eliminar servidores cuyo nombre no coincide con su dirección en algunas situaciones (por ejemplo, cuando el servidor en cuestión es un nodo de un Conjunto de réplicas pero no es el primario).
Obtiene el valor del campo me.
449 450 451 |
# Archivo 'lib/mongo/server/description.rb', línea 449 def me config[ME] end |
#me_mismatch? ⇒ true, false
Comprueba si hay una discrepancia entre el host de la dirección y el campo me.
800 801 802 |
# Archivo 'lib/mongo/server/description.rb', línea 800 def me_mismatch? !!(dirección.to_s.minúscula != me.minúscula si me) end |
#min_wire_version ⇒ Integer
Obtén la versión mínima del cable. Por defecto es cero.
434 435 436 |
# Archivo 'lib/mongo/server/description.rb', línea 434 def min_wire_version config[MIN_WIRE_VERSION] || 0 end |
#mongocryptd? ⇒ true, false
Si esta descripción es de un servidor mongocryptd.
808 809 810 |
# Archivo 'lib/mongo/server/description.rb', línea 808 def mongocryptd? ok? && config['iscryptd'] == true end |
#mongos? ⇒ true, false
Retorna si este servidor es un mongos, según la especificación SDAM.
562 563 564 |
# Archivo 'lib/mongo/server/description.rb', línea 562 def mongos? ok? && config['msg'] == 'isdbgrid' end |
#ok? ⇒ Boolean
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.
725 726 727 |
# Archivo 'lib/mongo/server/description.rb', línea 725 def ok? config[Operación::Resultado::OK] == 1 end |
#op_time ⇒ BSON::Timestamp
opTime en el subdocumento lastWrite de la respuesta hello.
817 818 819 820 821 |
# Archivo 'lib/mongo/server/description.rb', línea 817 def op_time return a menos que config['últimaEscritura'] && config['últimaEscritura']['optime'] config['últimaEscritura']['optime']['ts'] end |
#other? ⇒ true, false
Devuelve si el servidor es de otro tipo, según la especificación SDAM.
574 575 576 577 578 579 580 581 582 583 |
# Archivo 'lib/mongo/server/description.rb', línea 574 def ¿otro? # La especificación SDAM es un poco confusa sobre lo que significa "otro", # pero se le denomina "RSOther", lo que significa que no es un nodo de RS # no puede ser "otro". ok? && !!config['setName'] && ( config['hidden'] == true || (!primario/a? && !secundario? && !árbitro?) ) end |
#¿Pasivo? ⇒ true, false
Devolverá verdadero si el servidor está en modo pasivo.
593 594 595 |
# Archivo 'lib/mongo/server/description.rb', línea 593 def ¿pasivo? ok? && !!config[PASIVO] end |
#pasivos ⇒ arreglo<String>
Obtén una lista de los servidores pasivos en el clúster.
605 606 607 |
# Archivo 'lib/mongo/server/description.rb', línea 605 def pasivos @passives ||= (config[PASIVOS] || []).map { |s| s.minúscula } end |
#primario/a? ⇒ true, false
Devuelve si este servidor es un primario, según la especificación SDAM.
629 630 631 632 633 |
# Archivo 'lib/mongo/server/description.rb', línea 629 def primario/a? ok? && (config['ismaster'] == true || config['isWritablePrimary'] == true) && !!config['setName'] end |
#primary_host ⇒ String | nil
Obtenga la dirección del host principal.
617 618 619 |
# Archivo 'lib/mongo/server/description.rb', línea 617 def primary_host config[PRIMARY_HOST] && config[PRIMARY_HOST].minúscula end |
#replica_set_member? ⇒ true, false
¿Esta descripción corresponde a un miembro de un set de réplicas?.
777 778 779 |
# Archivo 'lib/mongo/server/description.rb', línea 777 def replica_set_member? ok? && !(autónomo? || mongos?) end |
#replica_set_name ⇒ String?
Obtenga el nombre del set de réplicas al que pertenece el servidor, devuelve nil si no hay ninguno.
644 645 646 |
# Archivo 'lib/mongo/server/description.rb', línea 644 def nombre_conjunto_replicación config[SET_NAME] end |
#¿Secundario? ⇒ verdadero, falso
Retorna si este servidor es secundario, según la especificación SDAM.
668 669 670 671 672 |
# Archivo 'lib/mongo/server/description.rb', línea 668 def secundario? ok? && config['secundario'] == true && !!config['setName'] end |
#server_connection_id ⇒ objeto
845 846 847 |
# Archivo 'lib/mongo/server/description.rb', línea 845 def server_connection_id config['connectionId'] end |
#server_type ⇒ Symbol
Devuelve el tipo de servidor como un símbolo.
682 683 684 685 686 687 688 689 690 691 692 693 |
# Archivo 'lib/mongo/server/description.rb', línea 682 def server_type return balanceador_de_carga si load_balancer? return árbitro si árbitro? return :ghost si ghost? return particionado si mongos? return primario/a si primario/a? return secundario si secundario? return autónomo si autónomo? return otro si ¿otro? :desconocido end |
#server_version_gte?(version) ⇒ Boolean
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.
890 891 892 893 894 895 896 897 898 899 900 901 902 903 |
# Archivo 'lib/mongo/server/description.rb', línea 890 def server_version_gte?(Versión) si load_balancer? # Si estamos hablando con un balanceador de carga, no hay supervisión # y no sabemos qué servidor está detrás del balanceador de carga. # Suponer que todo está soportado. # TODO remover esto cuando se implemente RUBY-2220. return true end obligatorio_wv = SERVER_VERSION_WIRE_VERSION_MAP[Versión] propagar NotImplementedError, "Versión inesperada del servidor #{versión.inspeccionar}" a menos que obligatorio_wv obligatorio_wv <= max_wire_version end |
#servidores ⇒ arreglo<String>
Consigue una lista de todos los servidores conocidos por el clúster.
656 657 658 |
# Archivo 'lib/mongo/server/description.rb', línea 656 def servidor host + Árbitros + pasivos end |
#service_id ⇒ nil | objeto
Retorna El ID del servicio, si existe.
852 853 854 |
# Archivo 'lib/mongo/server/description.rb', línea 852 def service_id config['serviceId'] end |
#set_version ⇒ Integer
Obtenga el setVersion de la configuración.
485 486 487 |
# Archivo 'lib/mongo/server/description.rb', línea 485 def set_version config[SET_VERSION] end |
#autónomo? ⇒ true, false
Devuelve si este servidor es autónomo, según la especificación SDAM.
703 704 705 706 707 708 |
# Archivo 'lib/mongo/server/description.rb', línea 703 def autónomo? ok? && config['msg'] != 'isdbgrid' && config['setName'].nil? && config['isreplicaset'] != true end |
#tags ⇒ Hash
Obtén las etiquetas configuradas para el servidor.
461 462 463 |
# Archivo 'lib/mongo/server/description.rb', línea 461 def config[etiqueta] || {} end |
#topology_version ⇒ TopologyVersion | nil
Devuelve la versión de la topología.
490 491 492 493 494 495 496 |
# Archivo 'lib/mongo/server/description.rb', línea 490 def topology_version a menos que ¿definido?(@topology_version) @topology_version = config['topologyVersion'] && TopologyVersion.Nuevo(config['topologyVersion']) end @topology_version end |
#topology_version_gt?(other_desc) ⇒ true | false
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.
Devuelve si la versión de topología en esta descripción es potencialmente más reciente o igual a la versión de topología en otra descripción.
506 507 508 509 510 511 512 |
# Archivo 'lib/mongo/server/description.rb', línea 506 def topology_version_gt?(other_desc) si topology_version.nil? || other_desc.topology_version.nil? true else topology_version.gt?(other_desc.topology_version) end end |
#topology_version_gte?(other_desc) ⇒ verdadero | falso
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.
Devuelve si la versión de topología en esta descripción es posiblemente más reciente que la versión de topología en otra descripción.
522 523 524 525 526 527 528 |
# Archivo 'lib/mongo/server/description.rb', línea 522 def topology_version_gte?(other_desc) si topology_version.nil? || other_desc.topology_version.nil? true else topology_version.gte?(other_desc.topology_version) end end |
#¿desconocido? ⇒ true, false
Devuelve si este servidor es desconocido, según la especificación SDAM.
718 719 720 721 722 |
# Archivo 'lib/mongo/server/description.rb', línea 718 def ¿desconocido? return false si load_balancer? config.¿vacío? || config.claves == %w[topologyVersion] || !ok? end |
#wire_versions ⇒ rango
Obtén el rango de versiones de wire admitidas para el servidor.
737 738 739 |
# Archivo 'lib/mongo/server/description.rb', línea 737 def wire_versions min_wire_version..max_wire_version end |