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é funcionalidades admite un servidor específico.

Desde:

  • 2.0.0

Resumen de constantes colapsar

MAPPINGS =

Lista de funcionalidades y la versión del protocolo de conexión en la que aparecen.

Las versiones del protocolo de conexión se corresponden con las siguientes versiones del servidor:

  • 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,
}.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 la versión de wire (%s), pero esta versión del controlador Ruby ' +
'requiere al menos (%s).'
SERVIDOR_DESFASADO =

Mensaje de advertencia si la versión del servidor está obsoleta.

Desde:

  • 2.0.0

'El servidor en (%s) informa la versión de conexión (%s), pero se ha ' \
'desaprobado el soporte para esa versión y se eliminará en una futura versión del controlador Ruby. ' \
'Por favor, actualiza tu servidor de MongoDB a una versión más reciente en el corto plazo.'
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 cable (%s), pero esta versión del controlador Ruby ' +
'solo admite hasta (%s).'
EMPTY_RANGE =

Una constante de rango vacío, para usar en DEPRECATED_WIRE_VERSIONS.

Desde:

  • 2.0.0

(0...0).freeze
DRIVER_WIRE_VERSIONS =

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

Desde:

  • 2.0.0

8..25
DEPRECATED_WIRE_VERSIONS =

Las versiones del protocolo de conexión que están obsoletas en esta versión del driver. El soporte para estas versiones se eliminará en el futuro.

Si hay varias versiones wire actualmente obsoletas, esto debe establecerse en un rango de esas versiones.

Si solo hay una versión obsoleta actualmente del canal, esto debe configurarse en un rango en el que el mínimo y el máximo sean el mismo valor.

Si actualmente no existen versiones obsoletas del protocolo, se debe establecer en un rango vacío (por ejemplo, la constante EMPTY_RANGE).

Desde:

  • 2.0.0

EMPTY_RANGE

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_de_cable_del_servidor (rango)

    El servidor admitía versiones de protocolos.

Aumenta:

  • (ArgumentError)

Desde:

  • 2.0.0



114
115
116
117
118
119
120
121
122
123
124
# Archivo 'lib/mongo/servidor/descripción/funcionalidades.rb', línea 114

def inicializar(versiones_de_cable_del_servidor, dirección = nulo)
  propagar ArgumentError, "El mínimo de server_wire_versions es nulo" si versiones_de_cable_del_servidor.min.nil?
  propagar ArgumentError, "server_wire_versions's max es nulo" si versiones_de_cable_del_servidor.máximo.nil?

  @server_wire_versions = versiones_de_cable_del_servidor
  @address = dirección

  return a menos que mongo::Lint.¿habilitado?

  freeze
end

Detalles de atributo de instancias

#server_wire_versionsRange (solo lectura)

Devuelve server_wire_versions Las versiones cableadas admitidas por el servidor.

Devuelve:

  • (rango)

    server_wire_versions Las versiones de cable compatibles con el servidor.

Desde:

  • 2.0.0



103
104
105
# Archivo 'lib/mongo/servidor/descripción/funcionalidades.rb', línea 103

def versiones_de_cable_del_servidor
  @server_wire_versions
end

Detalles del método de instancia

#check_driver_support!Objeto

Comprueba que haya una superposición entre el rango de versiones de cable admitidas por el controlador y el rango de versiones de cable del servidor. También comprueba si el servidor está utilizando una versión obsoleta de transmisión de datos.

Aumenta:

Desde:

  • 2.0.0



132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Archivo 'lib/mongo/servidor/descripción/funcionalidades.rb', línea 132

def check_driver_support!
  si DEPRECATED_WIRE_VERSIONS.incluir?(@server_wire_versions.máximo)
    funcionalidad = "wire_version:#{@address}"
    mongo::Obsolescencias.advertencia(funcionalidad, Formato(SERVIDOR_OBSOLETO, @address, @server_wire_versions.máximo))

  elsif VERSIONS_DRIVER_WIRE.min > @server_wire_versions.máximo
    propagar Error::UnsupportedFeatures.Nuevo(Formato(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(Formato(CONTROLADOR_DEMASIADO_ANTIGUO, @address, @server_wire_versions.min,
                                                VERSIONS_DRIVER_WIRE.máximo))
  end
end