Clase: Mongo::Server::Descripción::Funcionalidades
- Hereda:
-
Objeto
- Objeto
- Mongo::Servidor::Descripción::Características
- Definido en:
- lib/mongo/server/description/features.rb
Overview
Define el comportamiento en torno a qué características admite un servidor específico.
Colapso delresumen constante
- MAPPINGS =
Lista de funcionalidades y la versión del protocolo de conexión en la que aparecen.
Las versiones del protocolo Wire se asignan a las versiones del servidor de la siguiente manera:
-
2 => 2.6
-
3 => 3.0
-
4 => 3.2
-
5 => 3.4
-
6 => 3.6
-
7 => 4.0
-
8 => 4.2
-
9 => 4.4
-
13 => 5.0
-
14 => 5.1
-
17 => 6.0
-
{ merge_out_on_secondary: 13, get_more_comment: 9, retryable_write_error_label: 9, commit_quorum: 9, # Las versiones del servidor anteriores a 4.2 no validan de forma fiable las opciones # proporcionados por el cliente durante las operaciones findAndModify, requiriendo que el # controlador para generar errores del lado del cliente cuando se proporcionan esas opciones. find_and_modify_option_validation: 8, transacciones fragmentadas: 8, transacción: 7, scram_sha_256: 7, filtros de matriz: 6, op_msg: 6, sesiones: 6, intercalación: 5, max_staleness: 5, # Las versiones del servidor anteriores a 3.4 no validan de forma fiable las opciones # proporcionado por el cliente durante las operaciones de actualización/eliminación, lo que requiere # controlador para generar errores del lado del cliente cuando se proporcionan esas opciones. update_delete_option_validation: 5, find_command: 4, listas_colecciones: 3, list_indexes: 3, scram_sha_1: 3, escribir_comando: 2, información_de_los_usuarios: 2, }.freeze
- SERVER_TOO_OLD =, SERVER_TOO_OLD =
Mensaje de error si el servidor es demasiado antiguo para esta versión del controlador.
"El servidor en (%s) informa sobre la versión de cable (%s), pero esta versión del controlador Ruby " + "requiere al menos (%s)."
- DRIVER_TOO_OLD =
Mensaje de error si el controlador es demasiado antiguo para la versión del servidor.
"El servidor en (%s) requiere la versión de red (%s), pero esta versión del driver de Ruby " + "solo admite hasta (%s)."
- DRIVER_WIRE_VERSIONS =
Las versiones del protocolo de conexión que soporta esta versión del driver.
(6..25).freeze
Resumen de atributos de la instancia colapsar
-
#server_wire_versions ⇒ Rango
Solo lectura
Server_wire_versions Las versiones de cable admitidas por el servidor.
Resumen del método de instancia colapsar
-
#¡comprueba el soporte del controlador! ⇒ Objeto
Verifique que exista una superposición entre el rango de versiones de cable compatibles con el controlador y el rango de versiones de cable del servidor.
-
#inicializar(server_wire_versions, address = nil) ⇒ funcionalidades
constructor
Inicializa las funcionalidades.
Detalles del constructor
#initialize(server_wire_versions, address = nil) ⇒ Funcionalidades
Inicializa las funcionalidades.
118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# Archivo 'lib/mongo/servidor/descripción/funcionalidades.rb', línea 118 def inicializar(versiones_del_cable_del_servidor, dirección = nulo) si versiones_del_cable_del_servidor.min.nil? propagar ArgumentError, "El mínimo de server_wire_versions es nulo" end si versiones_del_cable_del_servidor.máximo.nil? propagar ArgumentError, "Elmáximo de server_wire_versions esnulo" end @server_wire_versions = versiones_del_cable_del_servidor @address = dirección si Mongo::Lint.¿habilitado? freeze end end |
Detalles de los atributos de instancia
#server_wire_versions ⇒ Range (solo lectura)
Devuelve server_wire_versions Las versiones soportadas por el servidor.
107 108 109 |
# Archivo 'lib/mongo/servidor/descripción/funcionalidades.rb', línea 107 def versiones_del_cable_del_servidor @server_wire_versions end |
Detalles del método de instancia
#check_driver_support! ⇒ Objeto
Verifique que haya una superposición entre el controlador soportado por el cable
version range and the server wire version range.
143 144 145 146 147 148 149 150 151 152 153 |
# Archivo 'lib/mongo/servidor/descripción/funcionalidades.rb', línea 143 def check_driver_support! si VERSIONS_DRIVER_WIRE.min > @server_wire_versions.máximo propagar Error::UnsupportedFeatures.Nuevo(SERVIDOR DEMASIADO ANTIGUO % [@address, @server_wire_versions.máximo, VERSIONS_DRIVER_WIRE.min]) elsif VERSIONS_DRIVER_WIRE.máximo < @server_wire_versions.min propagar Error::UnsupportedFeatures.Nuevo(CONTROLADOR_DEMASIADO_ANTIGUO % [@address, @server_wire_versions.min, VERSIONS_DRIVER_WIRE.máximo]) end end |