Clase: Mongo::Server::Descripción::Funcionalidades

Hereda:
Objeto
  • Objeto
Mostrar todo
Definido en:
lib/mongo/server/description/features.rb

Overview

Define el comportamiento en torno a qué características admite un servidor específico.

Desde:

  • 2.0.0

Colapso delresumen constante

MAPPINGS =

Lista de características y la versión del protocolo de cable 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

Desde:

  • 2.0.0

{
  fusión_en_secundario: 13,
  get_more_comment: 9,
  retryable_write_error_label: 9,
  quórum de confirmación: 9,
  # Las versiones del servidor anteriores a 4.2 no validan las opciones de manera confiable
  # proporcionado por el cliente durante las operaciones findAndModify, que requieren
  # controlador para generar errores del lado del cliente cuando se proporcionan esas opciones.
  find_and_modify_option_validation: 8,
  transacciones fragmentadas: 8,
  actas: 7,
  scram_sha_256: 7,
  filtros de matriz: 6,
  op_msg: 6,
  sesiones: 6,
  colación: 5,
  máx. obsolescencia: 5,
  # Las versiones del servidor anteriores a 3.4 no validan las opciones de manera confiable
  # 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,
  comando_de_escritura: 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.

Desde:

  • 2.5.0

"Elservidor en (%s) informa la versión del 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.

Desde:

  • 2.5.0

"El servidor en (%s) requiere la versión de red (%s), pero esta versión del driver de Ruby " +
"solo admite hasta (%s)."
VERSIONES DEL CABLE DEL CONTROLADOR =

Las versiones del protocolo de cable que admite esta versión del controlador.

Desde:

  • 2.0.0

(6..25).freeze

Colapso delresumen de atributos de instancia

Colapso del resumen del método de instancia

Detalles del constructor

#inicializar(server_wire_versions, dirección = nula) ⇒ Características

Inicializar las funciones.

Ejemplos:

Inicializar las funciones.

Features.new(0..3)

Parámetros:

  • versiones_del_cable_del_servidor (Rango) -

    El servidor admitía versiones en cable.

Desde:

  • 2.0.0



118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Archivo 'lib/mongo/server/description/features.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
  @DIRECCIÓN = dirección

  Si Mongo::Lint.¿activado?
    freeze
  end
end

Detalles de los atributos de instancia

#server_wire_versionsRango (solo lectura)

Devuelve server_wire_versions Las versiones de cable admitidas por el servidor.

Devuelve:

  • (Rango) -

    server_wire_versions Las versiones de cable compatibles con el servidor.

Desde:

  • 2.0.0



107
108
109
# Archivo 'lib/mongo/server/description/features.rb', línea 107

def versiones_del_cable_del_servidor
  @server_wire_versions
end

Detalles del método de instancia

#¡comprueba el soporte del controlador!Objeto

Verifique que haya una superposición entre el cable soportado por el conductor

version range and the server wire version range.

Ejemplos:

Verifique la superposición de la versión del cable.

features.check_driver_support!

Aumentos:

Desde:

  • 2.5.1



143
144
145
146
147
148
149
150
151
152
153
# Archivo 'lib/mongo/server/description/features.rb', línea 143

def ¡Compruebe el soporte del controlador!
  Si VERSIONES DEL CABLE DEL CONTROLADOR.min > @server_wire_versions.máximo
    propagar Error::UnsupportedFeatures.Nuevo(SERVIDOR_DEMASIADO_VIEJO % [@DIRECCIÓN,
                                                           @server_wire_versions.máximo,
                                                           VERSIONES DEL CABLE DEL CONTROLADOR.min])
  elsif VERSIONES DEL CABLE DEL CONTROLADOR.máximo < @server_wire_versions.min
    propagar Error::UnsupportedFeatures.Nuevo(CONDUCTOR DEMASIADO VIEJO % [@DIRECCIÓN,
                                                           @server_wire_versions.min,
                                                           VERSIONES DEL CABLE DEL CONTROLADOR.máximo])
  end
end