Classificação: Mongo::Servidor::Descrição::Recursos

Herda:
Objeto
  • Objeto
mostrar tudo
Definido em:
lib/mongo/ servidor/description/features.rb

Visão geral

Define o comportamento em torno de quais recursos um servidor específico suporta.

Desde:

  • 2.0.0

Colapsode resumo constante

Mapeamentos =

Lista de recursos e a versão do protocolo de conexão em que eles aparecem.

As versões do protocolo de fio são mapeadas para as versões do servidor da seguinte forma:

  • 8 => 4.2
  • 9 => 4.4
  • 13 => 5.0
  • 14 => 5.1
  • 17 => 6.0

Desde:

  • 2.0.0

{
  mesclar_out_on_secondary: 13,
  get_more_comment: 9,
  retryable_write_error_label: 9,
  commit_quorum: 9,
}.congelar
SERVER_TOO_OLD =

Mensagem de erro se o servidor for muito antigo para esta versão do driver.

Desde:

  • 2.5.0

'Servidor em (%s) relata versão de fio (%s), mas esta versão do driver Ruby  ' +
'exige pelo menos (%s).'
SERVER_DEPrecated =

Mensagem de aviso se a versão do servidor for preterida.

Desde:

  • 2.0.0

'O servidor em (%s) relata a versão de fio (%s), mas o suporte para essa versão de fio   ' \
 ' está obsoleto e será removido em uma versão futura do driver Ruby.   ' \ ' Atualize seu servidor MongoDB para uma versão mais recente em breve. '
DRIVER_TOO_OLD =

Mensagem de erro se o driver for muito antigo para a versão do servidor.

Desde:

  • 2.5.0

'O servidor em (%s) requer versão com fio (%s), mas esta versão do driver Ruby  ' +
'suporta apenas até (%s).'
EMPTY_Range =

Uma constante de intervalo vazia, para uso em DEPrecated_wire_versions.

Desde:

  • 2.0.0

(0...0).congelar
DRIVER_WIRE_VERSIONS =

As versões do protocolo de conexão que esta versão do driver suporta.

Desde:

  • 2.0.0

8..25
DEPrecated_Wire_VERSIONS =

As versões do protocolo de conexão que são preteridas nesta versão do driver. O suporte para essas versões será removido no futuro.

Se houver várias versões de fio atualmente obsoletas, isso deve ser definido como uma faixa dessas versões.

Se houver apenas uma única versão de fio atualmente obsoleta, ela deve ser definida como uma faixa em que o mínimo e o máximo tenham o mesmo valor.

Se não houver versões de fio atualmente obsoletas, isso deve ser definido como uma faixa vazia (por exemplo, a constante EMPTY_range).

Desde:

  • 2.0.0

EMPTY_range

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Detalhes do construtor

#initialize(server_wire_versions, endereço = nil) ➤ Recursos

Inicialize as funcionalidades.

Exemplos:

Inicialize as funcionalidades.

Features.new(0..3)

Parâmetros:

  • server_wire_versions (Faixa)

    O servidor suporta versões de fio.

Aumenta:

  • (ArgumentError)

Desde:

  • 2.0.0



114
115
116
117
118
119
120
121
122
123
124
# Arquivo 'lib/mongo/ servidor/description/features.rb', linha 114

def inicializar(server_wire_versions, endereço = nada)
  aumentar ArgumentError, "server_wire_versions's min is null" se server_wire_versions.min.nada?
  aumentar ArgumentError, "server_wire_versions's max is null" se server_wire_versions.max.nada?

  @server_wire_versions = server_wire_versions
  @address = endereço

  Método a menos que mongo::Lint.habilitado?

  congelar
end

Detalhes do atributo da instância

#server_wire_versions ➤ Intervalo (somente leitura)

Retorna server_wire_versions As versões de fio suportadas do servidor.

Retorna:

  • (Faixa)

    server_wire_versions As versões de fio suportadas do servidor.

Desde:

  • 2.0.0



103
104
105
# Arquivo 'lib/mongo/ servidor/description/features.rb', linha 103

def server_wire_versions
  @server_wire_versions
end

Detalhes do método de instância

#check_driver_support!Objeto

Verifique se há uma sobreposição entre o intervalo de versões de fio suportado do driver e o intervalo de versões de fio do servidor . Também verifica se o servidor está usando uma versão de fio obsoleta.

Aumenta:

Desde:

  • 2.0.0



132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Arquivo 'lib/mongo/ servidor/description/features.rb', linha 132

def check_driver_support!
  se DEPrecated_Wire_VERSIONS.incluir?(@server_wire_versions.max)
    funcionalidade = "wire_version:#{@address}"
    mongo::Itens obsoletos.AVISAR(funcionalidade, Formatar(SERVER_DEPrecated, @address, @server_wire_versions.max))

  elsif DRIVER_WIRE_VERSIONS.min > @server_wire_versions.max
    aumentar Erro::Recursos Não Suportados.Novo(Formatar(SERVER_TOO_OLD, @address, @server_wire_versions.max,
                                                DRIVER_WIRE_VERSIONS.min))

  elsif DRIVER_WIRE_VERSIONS.max < @server_wire_versions.min
    aumentar Erro::Recursos Não Suportados.Novo(Formatar(DRIVER_TOO_OLD, @address, @server_wire_versions.min,
                                                DRIVER_WIRE_VERSIONS.max))
  end
end