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 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

Desde:

  • 2.0.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.

Desde:

  • 2.5.0

"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.

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)."
DRIVER_WIRE_VERSIONS =

Las versiones del protocolo de conexión que soporta esta versión del driver.

Desde:

  • 2.0.0

(6..25).freeze

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Detalles del constructor

#initialize(server_wire_versions, address = nil) ⇒ Funcionalidades

Inicializa las funcionalidades.

Ejemplos:

Inicializa las funcionalidades.

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/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_versionsRange (solo lectura)

Devuelve server_wire_versions Las versiones soportadas 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/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.

Ejemplos:

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

features.check_driver_support!

Aumenta:

Desde:

  • 2.5.1



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