Classificação: Mongo::Servidor::Descrição
- Herda:
-
Objeto
- Objeto
- Mongo::Servidor::Descrição
- Definido em:
- lib/mongo/ servidor/description.rb,
lib/mongo/ servidor/description/features.rb,
lib/mongo/ servidor/description/load_balancer.rb mais...
Visão geral
Representa uma descrição do servidor, preenchido pelo resultado do comando hello .
Observação: servidores desconhecidos não têm versões de fio, mas, por motivos legado , retornamos 0 para min_wire_version e max_wire_version de qualquer servidor que não os tenha. Atualmente, o driver às vezes constrói comandos quando o servidor é desconhecido, portanto, as referências a min_wire_version e max_wire_version não devem ser nulas. Quando o comportamento do motorista é alterado (jira.mongodb.org/browse/RUBY-{21805), isso pode não ser mais necessário.
Definido sob namespace
Classes: Recursos, LoadBalancer
Colapsode resumo constante
- arbiter =
Obsoleto.
Constante para ler informações de árbitro de configuração.
'arbiterOnly'.congelar
- Árbitros =
Constante para ler informações de árbitros da configuração.
'árbitros'.congelar
- OCULTO =
Constante para ler informações ocultas da configuração.
'oculto'.congelar
- HOSTS =
Constante para ler informações de hosts da configuração.
'hosts'.congelar
- MESSAGE =
Obsoleto.
Constante para a chave para o valor da mensagem.
'msg'.congelar
- MONGOS_MSSAGE =
Obsoleto.
Constante para a mensagem que indica um cluster fragmentado.
'isdbgrade'.congelar
- REPLICA_SET =
Obsoleto.
Constante para determinar servidores fantasma.
'isreplicaset'.congelar
- MAX_BSON_OBJECT_SIZE =
Constante para ler informações de tamanho máximo de BSON da configuração.
'maxBsonObjectSize'.congelar
- MAX_MSSAGE_BYTES =
Constante para ler informações de tamanho máximo de mensagem de config.
'maxMessageSizeBytes'.congelar
- MAX_WIRE_VERSION =
Constante para a versão máxima do fio.
'maxWireVersion'.congelar
- MIN_WIRE_VERSION =
Constante para a versão mínima do fio.
'minWireVersion'.congelar
- MAX_WRITE_BATCH_SIZE =
Constante para ler o tamanho máximo do lote de gravação.
'maxWriteBatchSize'.congelar
- LAST_WRITE =
Constante para o subdocumento lastWrite.
'lastWrite'.congelar
- LAST_WRITE_DATE =
Constante para o campo lastWriteDate no subdocumento lastWrite.
'lastWriteDate'.congelar
- eu =
Constante para ler o campo me .
'me'.congelar
- DEFAULT_MAX_WRITE_BATCH_SIZE =
Tamanho máximo do lote de gravação padrão.
1000.congelar
- LGACY_WIRE_VERSION =
Obsoleto.
Será removido em 3.0.
A versão legado do protocolo de conexão .
0.congelar
- Passiva =
Constante para ler informações passivas da configuração.
'passivo'.congelar
- Passivos =
Constante para ler a lista de servidor passivos.
'passivos'.congelar
- PRIMARY =
Obsoleto.
Constante para ler informações primárias da configuração.
'ismaster'.congelar
- PRIMARY_HOST =
Constante para ler o campo de host primário da configuração.
'primary'.congelar
- SECUNDÁRIO =
Obsoleto.
Constante para ler informações secundárias da configuração.
'secundário'.congelar
- set_name =
Constante para ler informações de nome do conjunto de réplicas da configuração.
'setName'.congelar
- TAGS =
Constante para ler informações de tags da configuração.
'tags'.congelar
- ELECTION_ID =
Constante para ler informações electionId da configuração.
'electionId'.congelar
- set_VERSION =
Constante para ler informações setVersion da configuração.
'setVersion'.congelar
- LOCAL_TIME =
Constante para ler informações de localTime da configuração.
'localTime'.congelar
- Operation_time =
Constante para ler informações de operationTime da configuração.
'operationTime'.congelar
- LOGical_SESSION_TIMEOUT_MINUSES =
Constante para ler informações logicalSessionTimeoutMinutes de config.
'logicalSessionTimeoutMinutes'.congelar
- CONNECTION_ID =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
Constante para ler informações connectionId da configuração.
'connectionId'.congelar
- EXCLUDE_FOR_COMPARISON =
Campos a serem excluídos ao comparar duas descrições.
[ LOCAL_TIME, LAST_WRITE, operation_time, (operação)::CLUSTER_TIME, CONNECTION_ID, ].congelar
Recolhimento do Resumo do atributo de instância
-
#endereço ➤ Endereço
Somente leitura
Endereço O endereço do servidor.
-
#average_round_trip_time ➤ Flutuante
Somente leitura
O tempo médio móvel que a chamada de saudação levou para ser concluída.
-
#config ⇒ Hash
Somente leitura
O resultado real do comando hello .
-
#last_update_monotime ⇒ Float
Somente leitura
privado
Hora em que esta descrição de servidor foi criada de acordo com o relógio monotônico.
-
#last_update_time ➤ Hora
Somente leitura
Hora em que esta descrição de servidor foi criada.
-
#minimum_round_trip_time ➤ Flutuante
Somente leitura
O tempo mínimo das dez últimas chamadas de hello para serem concluídas.
Recolhimento do Resumo do método de instância
-
#==(outros) ➤ verdadeiro, falso (também: #eql?)
Verifique a igualdade de duas descrições.
-
#árbitro? ➤ verdadeiro, falso
Retorna se este servidor é um árbitro, de acordo com a especificação do SDAM.
-
#arbiters } Array<String>
Obtenha uma lista de todos os árbitros no conjunto de réplicas.
-
#data_Bearing? ➤ verdadeiro, falso
Se essa descrição é de um servidor com dados (autônomo, mongos, primário ou secundário).
-
#election_id ➤ BSON::ObjectId
Obtenha o electionId da configuração.
-
#feature ⇒ Feature
Recursos Os recursos do servidor.
-
#fantasma? ➤ verdadeiro, falso
Se este servidor é um fantasma, de acordo com a especificação do SDAM.
-
#oculto? ➤ verdadeiro, falso
Retornará verdadeiro se o servidor estiver oculto.
-
#hosts ➤ Array<String>
Obtenha uma lista de todos os servidores no conjunto de réplicas.
-
#initialize(address, config = {}, average_round_trip_time: nil, minimum_round_trip_time:, 0 load_balancer: false, force_load_balancer: false) ➤ Descrição
construtor
privado
Instale a nova descrição do servidor a partir do resultado do comando hello ou crie uma descrição de espaço reservado para os servidores Unknown e LoadBalancer.
-
#inspecionar ➤ string
Inspecione a descrição do servidor .
- #is_server?(servidor) ➤ verdadeiro, falso obsoleto Obsoleto.
-
#last_write_date ➤ Hora
Obtenha o lastWriteDate do subdocumento lastWrite na configuração.
- #lists_server?(servidor) ➤ verdadeiro, falso obsoleto Obsoleto.
-
#load_balancer? ➤ verdadeiro | false
Retorna se este servidor é um balanceador de carga .
-
#logical_session_timeout ⇒ Integer?
Obtenha o logicalSessionTimeoutMinutes da configuração.
-
#max_bson_object_size ➤ Inteiro
Obtenha o tamanho máximo do objeto BSON para esta versão do servidor .
-
#max_message_size ➤ Inteiro
Obtenha o tamanho máximo de mensagem para esta versão do servidor.
-
#max_wire_version ➤ Inteiro
Obtenha a versão máxima do fio.
-
#max_write_batch_size ➤ Inteiro
Obtenha o tamanho máximo do lote para gravações.
-
#me ➤ string
Obtenha o valor do campo me.
-
#me_mismatch? ➤ verdadeiro, falso
Verifique se há uma incompatibilidade entre o host de endereço e o campo me .
-
#min_wire_version ➤ Integer
Obtenha a versão mínima com fio.
-
#mongocryptd? ➤ verdadeiro, falso
Se esta descrição é de um servidor mongocryptd.
-
#mongos? ➤ verdadeiro, falso
Retorna se este servidor é um mongos, de acordo com a especificação do SDAM.
- #ok? ➤ Booleano privado
-
#op_time ⇒ BSON::Timestamp
optime no subdocumento lastWrite da resposta hello.
-
#outro? ➤ verdadeiro, falso
Retorna se o servidor é outro, de acordo com a especificação do SDAM.
-
#passivo? ➤ verdadeiro, falso
Retornará verdadeiro se o servidor for passivo.
-
#passivos ➤ Array<String>
Obtenha uma lista dos servidores passivos no cluster.
-
#primary? ➤ verdadeiro, falso
Retorna se este servidor é um primary, de acordo com a especificação do SDAM.
-
#primary_host ➤ string | nada
Obtenha o endereço do host primário.
-
#replica_set_member? ➤ verdadeiro, falso
Esta descrição corresponde a um membro do conjunto de réplicas.
-
#replica_set_name ➤ string?
Obtenha o nome do conjunto de réplicas ao qual o servidor pertence, retorna nulo se não houver.
-
#secundário? ➤ verdadeiro, falso
Retorna se este servidor é secundário, de acordo com a especificação do SDAM.
- #server_connection_id ➤ Objeto
-
#server_type ⇒ Symbol
Retorna o tipo de servidor como um símbolo.
- #server_version_gte?(versão) ➤ Booleano privado
-
#servidores ➤ Array<String>
Obtenha uma lista de todos os servidores conhecidos do cluster.
-
#service_id ➤ nil | Objeto
A ID do serviço, se houver.
-
#set_version ⇒ Integer
Obtenha o setVersion a partir da configuração.
-
#autônomo? ➤ verdadeiro, falso
Retorna se o servidor é autônomo, de acordo com a especificação do SDAM.
-
#tags ➤ Hash
Obtenha as tags configuradas para o servidor.
-
#topology_version ➤ TopologyVersion | nada
A versão da topologia.
-
#topology_version_gt?(outras_desc) ➤ true | false
privado
Retorna se a versão de topologia nesta descrição é potencialmente mais recente ou igual à versão de topologia em outra descrição.
-
#topology_version_gte?(outras_desc) ➤ true | false
privado
Retorna se a versão de topologia nesta descrição é potencialmente mais recente do que a versão de topologia em outra descrição.
-
#desconhecido? ➤ verdadeiro, falso
Retorna se este servidor é desconhecido, de acordo com a especificação do SDAM.
-
#wire_versions ➤ Intervalo
Obtenha a faixa de versões de fio suportadas para o servidor.
Detalhes do construtor
#initialize(address, config = {}, average_round_trip_time: nil, minimum_round_trip_time:, 0 load_balancer: false, force_load_balancer: false) ➤ Descrição
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Instale a nova descrição do servidor a partir do resultado do comando hello ou crie uma descrição de espaço reservado para os servidores Unknown e LoadBalancer.
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 220 def inicializar(endereço, config = {}, average_round_trip_time: nada, minimum_round_trip_time: 0, load_balancer: false, force_load_balancer: false ) @address = endereço @config = config @load_balancer = !!load_balancer @force_load_balancer = !!force_load_balancer @features = Características.Novo(wire_versions, eu || @address.to_s) @average_round_trip_time = average_round_trip_time @minimum_round_trip_time = minimum_round_trip_time @last_update_time = Hora.agora.congelar @last_update_monotime = Utilidades.monotonic_time se load_balancer # Quando a opção loadBalanced=true URI estiver definida, o motorista recusará # para funcionar se o servidor com o qual ele se comunica não definir serviceId # na resposta ismaster/hello. # # No momento, não podemos executar uma configuração adequada do balanceador de carga em evergreen # # Portanto, quando a opção connect=:load_balanced Ruby é usada # da opção loadBalanced=true URI, se serviceId não estiver definido em # resposta ismaster/hello, o driver fabrica um serviceId e # continua tratando um servidor que não se identifica como sendo # atrás de um balanceador de carga como um servidor que está atrás de um balanceador de carga. # # 5.0+ servidores devem fornecer topologyVersion.processId qual # é específico para a instância de processo específica. Podemos usar isso campo # como proxy para serviceId. # # Se a topologyVersion não for fornecida por qualquer motivo, nós # fabricar um serviceId localmente. # # Em ambos os casos, um serviceId fornecido por um servidor real por trás # um balanceador de carga deve ser um BSON::ObjectId. O falso # os IDs de serviço são strings, para diferenciá-los dos reais. # Em particular, processId também é um BSON::ObjectId, mas será # mapeado para uma string para maior clareza de que esta é uma ID de serviço falsa. # # TODO: Remova isto quando https://jira.mongodb.org/browse/RUBY-2881 terminar. se tudo bem? && !service_id a menos que force_load_balancer aumentar Erro::missingServiceId, "O servidor em #{endereço.seed} não forneceu uma ID de serviço na resposta do handshake" end false_service_id = se process_id = topology_version && topology_version['processId'] "process:#{process_id}" mais "falso:#{random(2**32-1)+1}" end @config = @config.mesclar('serviceId' => false_service_id) end end se mongo::Lint.habilitado? # preencher previamente variáveis de instância de cache hosts Árbitros Passivos topology_version congelar end end |
Detalhes do atributo da instância
#endereço ➤ Endereço (somente leitura)
Retorna endereço O endereço do servidor.
287 288 289 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 287 def endereço @address end |
#average_round_trip_time ➤ Flutuante (somente leitura)
Retorna O tempo médio móvel que a chamada de saudação levou para ser concluída.
305 306 307 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 305 def average_round_trip_time @average_round_trip_time end |
#config ➤ Hash (somente leitura)
Retorna o resultado real do comando hello.
290 291 292 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 290 def config @config end |
#last_update_monotime ➤ Flutuante (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Hora em que esta descrição de servidor foi criada de acordo com o relógio monotônico.
848 849 850 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 848 def last_update_monotime @last_update_monotime end |
#last_update_time ➤ Hora (somente leitura)
Desta vez não indica quando uma verificação de servidor bem-sucedida
Hora em que esta descrição de servidor foi criada.
concluído, porque marcar um servidor desconhecido atualiza sua descrição e last_update_time. Use Server#last_scan para descobrir quando o servidor foi verificado pela última vez pelo Monitor.
839 840 841 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 839 def last_update_time @last_update_time end |
#minimum_round_trip_time ➤ Flutuante (somente leitura)
Retorna O tempo mínimo das dez últimas chamadas de hello para serem concluídas.
309 310 311 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 309 def minimum_round_trip_time @minimum_round_trip_time end |
Detalhes do método de instância
#==(outro) ➤ true, false Também conhecido como: eql?
Verifique a igualdade de duas descrições.
872 873 874 875 876 877 878 879 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 872 def ==(Outro) Método false se auto.classe != Outro.classe Método false se desconhecido? || Outro.desconhecido? (config.keys + Outro.config.keys).uniq.todos? fazer |k| config[k] == Outro.config[k] || EXCLUDE_FOR_COMPARISON.incluir?(k) end end |
#árbitro? ➤ true, false
Retorna se este servidor é um árbitro, de acordo com a especificação do SDAM.
319 320 321 322 323 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 319 def árbitro? tudo bem? && config['arbiterOnly'] == true && !!config['setName'] end |
#arbiters } Array<String>
Obtenha uma lista de todos os árbitros no conjunto de réplicas.
333 334 335 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 333 def Árbitros @arbiters ||= (config[Árbitros] || []).map { |s| s.downcase } end |
#data_Bearing? ➤ true, false
Se essa descrição é de um servidor com dados (autônomo, mongos, primário ou secundário).
794 795 796 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 794 def data_Bearing? mongos? || primário? || secundário? || autônomo? end |
#election_id ➤ BSON::ObjectId
Obtenha o electionId da configuração.
481 482 483 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 481 def election_id config[ELECTION_ID] end |
#feature ⇒ Feature
Retorna recursos Os recursos do servidor.
300 301 302 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 300 def características @features end |
#fantasma? ➤ true, false
Se este servidor é um fantasma, de acordo com a especificação do SDAM.
345 346 347 348 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 345 def ghost? tudo bem? && config['isreplicaset'] == true end |
#oculto? ➤ true, false
Retornará verdadeiro se o servidor estiver oculto.
358 359 360 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 358 def oculto? tudo bem? && !!config[Oculto] end |
#hosts ➤ Array<String>
Obtenha uma lista de todos os servidores no conjunto de réplicas.
370 371 372 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 370 def hosts @hosts ||= (config[HOSTS] || []).map { |s| s.downcase } end |
#inspecionar ➤ string
Inspecione a descrição do servidor .
382 383 384 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 382 def inspecionar "#<Mongo::Server:Description:0x#{object_id} config=#{config} average_round_trip_time=#{average_round_trip_time}>" end |
#is_server?(servidor) ➤ verdadeiro, falso
Esta descrição é do servidor fornecido.
756 757 758 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 756 def is_server?(Servidor) endereço == Servidor.endereço end |
#last_write_date ➤ Hora
Obtenha o lastWriteDate do subdocumento lastWrite na configuração.
546 547 548 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 546 def last_write_date config[LAST_WRITE][LAST_WRITE_DATE] se config[LAST_WRITE] end |
#lists_server?(servidor) ➤ verdadeiro, falso
É um servidor incluído na lista de servidores desta descrição.
770 771 772 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 770 def lists_server?(Servidor) Servidores.incluir?(Servidor.endereço.to_s) end |
#load_balancer? ➤ verdadeiro | false
Retorna se este servidor é um balanceador de carga .
295 296 297 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 295 def load_balancer? @load_balancer end |
#logical_session_timeout ⇒ Integer?
Obtenha o logicalSessionTimeoutMinutes da configuração.
558 559 560 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 558 def logical_session_timeout config[LOGical_SESSION_TIMEOUT_MINUSES] se config[LOGical_SESSION_TIMEOUT_MINUSES] end |
#max_bson_object_size ➤ Inteiro
Obtenha o tamanho máximo do objeto BSON para esta versão do servidor .
394 395 396 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 394 def max_bson_object_size config[MAX_BSON_OBJECT_SIZE] end |
#max_message_size ➤ Inteiro
Obtenha o tamanho máximo de mensagem para esta versão do servidor.
406 407 408 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 406 def config[MAX_MSSAGE_BYTES] end |
#max_wire_version ⇒ Integer
Obtenha a versão máxima do fio. O padrão é zero.
430 431 432 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 430 def max_wire_version config[MAX_WIRE_VERSION] || 0 end |
#max_write_batch_size ➤ Inteiro
Obtenha o tamanho máximo do lote para gravações.
418 419 420 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 418 def max_write_batch_size config[MAX_WRITE_BATCH_SIZE] || DEFAULT_MAX_WRITE_BATCH_SIZE end |
#me ➤ string
O valor no campo me pode ser diferente do endereço da descrição do servidor . Isso pode acontecer, por exemplo, em configurações de horizonte divisão . A especificação SDAM exige apenas a remoção de servidores cujo eu não corresponda ao endereço em algumas das situações (por exemplo, quando o servidor em questão é um membro do RS, mas não um primário).
Obtenha o valor do campo me.
457 458 459 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 457 def eu config[eu] end |
#me_mismatch? ➤ true, false
Verifique se há uma incompatibilidade entre o host de endereço e o campo me .
806 807 808 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 806 def me_mismatch? !!(endereço.to_s.downcase != eu.downcase se eu) end |
#min_wire_version ➤ Integer
Obtenha a versão mínima com fio. O padrão é zero.
442 443 444 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 442 def min_wire_version config[MIN_WIRE_VERSION] || 0 end |
#mongocryptd? ➤ true, false
Se esta descrição é de um servidor mongocryptd.
814 815 816 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 814 def mongocryptd? tudo bem? && config['iscryptd'] == true end |
#mongos? ➤ true, false
Retorna se este servidor é um mongos, de acordo com a especificação do SDAM.
570 571 572 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 570 def mongos? tudo bem? && config['msg'] == 'isdbgrade' end |
#ok? ➤ Booleano
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
731 732 733 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 731 def tudo bem? config[(operação)::Resultado::OK] == 1 end |
#op_time ⇒ BSON::Timestamp
optime no subdocumento lastWrite da resposta hello.
823 824 825 826 827 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 823 def op_time se config['lastWrite'] && config['lastWrite']['optime'] config['lastWrite']['optime']['ts'] end end |
#outro? ➤ true, false
Retorna se o servidor é outro, de acordo com a especificação do SDAM.
582 583 584 585 586 587 588 589 590 591 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 582 def outro? # A especificação do SDAM é um pouco confusa sobre o que "outro" significa, # mas é referido como "RSOther", o que significa um não membro do RS # não pode ser "outro". tudo bem? && !!config['setName'] && ( config['oculto'] == true || !primário? && !secundário? && !árbitro? ) end |
#passivo? ➤ true, false
Retornará verdadeiro se o servidor for passivo.
601 602 603 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 601 def passivo? tudo bem? && !!config[Passiva] end |
#passivos ➤ Array<String>
Obtenha uma lista dos servidores passivos no cluster.
613 614 615 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 613 def Passivos @passives ||= (config[Passivos] || []).map { |s| s.downcase } end |
#primary? ➤ true, false
Retorna se este servidor é um primary, de acordo com a especificação do SDAM.
637 638 639 640 641 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 637 def primário? tudo bem? && (config['ismaster'] == true || config['isWritablePrimary'] == true ) && !!config['setName'] end |
#primary_host ➤ string | nada
Obtenha o endereço do host primário.
625 626 627 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 625 def primary_host config[PRIMARY_HOST] && config[PRIMARY_HOST].downcase end |
#replica_set_member? ➤ true, false
Esta descrição corresponde a um membro do conjunto de réplicas.
783 784 785 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 783 def replica_set_member? tudo bem? && !(autônomo? || mongos?) end |
#replica_set_name ➤ string?
Obtenha o nome do conjunto de réplicas ao qual o servidor pertence, retorna nulo se não houver.
652 653 654 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 652 def replica_set_name config[Set_NAME] end |
#secundário? ➤ true, false
Retorna se este servidor é secundário, de acordo com a especificação do SDAM.
676 677 678 679 680 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 676 def secundário? tudo bem? && config['secundário'] == true && !!config['setName'] end |
#server_connection_id ➤ Objeto
851 852 853 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 851 def server_connection_id config['connectionId'] end |
#server_type ➤ Símbolo
Retorna o tipo de servidor como um símbolo.
690 691 692 693 694 695 696 697 698 699 700 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 690 def server_type Método :load_balancer se load_balancer? Método : árbitro se árbitro? Método :ghost se ghost? Método :sharded se mongos? Método :primary se primário? Método :secondary se secundário? Método : autônomo se autônomo? Método :OTHER se outro? :unknown end |
#server_version_gte?(version) ⇒ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 883 def server_version_gte?(Versão) require_wv = caso Versão quando '7.0' 21 quando '6.0' 17 quando '5.2' 15 quando '5.1' 14 quando '5.0' 12 quando '4.4' 9 quando '4.2' 8 quando '4.0' 7 quando '3.6' 6 quando '3.4' 5 quando '3.2' 4 quando '3.0' 3 quando '2.6' 2 mais aumentar ArgumentError, "Versão exigida falsa #{version}" end se load_balancer? # Se estivermos falando com um balancer de carga, não há monitoramento # e não sabemos qual servidor está atrás do balanceador de carga . # Suponha que tudo seja suportado. # TODO remova isso quando o RUBY-2220 for implementado. Método true end require_wv >= min_wire_version && require_wv <= max_wire_version end |
#servidores ➤ Array<String>
Obtenha uma lista de todos os servidores conhecidos do cluster.
664 665 666 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 664 def Servidores hosts + Árbitros + Passivos end |
#service_id ➤ nil | Objeto
Retorna A ID do serviço, se houver.
858 859 860 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 858 def service_id config['serviceId'] end |
#set_version ⇒ Integer
Obtenha o setVersion a partir da configuração.
493 494 495 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 493 def set_version config[set_VERSION] end |
#autônomo? ➤ true, false
Retorna se o servidor é autônomo, de acordo com a especificação do SDAM.
710 711 712 713 714 715 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 710 def autônomo? tudo bem? && config['msg'] != 'isdbgrade' && config['setName'].nada? && config['isreplicaset'] != true end |
#tags ➤ Hash
Obtenha as tags configuradas para o servidor.
469 470 471 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 469 def config[Tags] || {} end |
#topology_version ➤ TopologyVersion | nada
Retorna a versão da topologia.
498 499 500 501 502 503 504 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 498 def topology_version a menos que definido?(@topology_version) @topology_version = config['topologyVersion'] && Versão de topologia.Novo(config['topologyVersion']) end @topology_version end |
#topology_version_gt?(outras_desc) ➤ true | false
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna se a versão de topologia nesta descrição é potencialmente mais recente ou igual à versão de topologia em outra descrição.
514 515 516 517 518 519 520 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 514 def topology_version_gt?(other_desc) se topology_version.nada? || other_desc.topology_version.nada? true mais topology_version.gt?(other_desc.topology_version) end end |
#topology_version_gte?(outras_desc) ➤ true | false
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna se a versão de topologia nesta descrição é potencialmente mais recente do que a versão de topologia em outra descrição.
530 531 532 533 534 535 536 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 530 def topology_version_gte?(other_desc) se topology_version.nada? || other_desc.topology_version.nada? true mais topology_version.gte?(other_desc.topology_version) end end |
#desconhecido? ➤ true, false
Retorna se este servidor é desconhecido, de acordo com a especificação do SDAM.
725 726 727 728 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 725 def desconhecido? Método false se load_balancer? config.vazio? || config.keys == %w(topologyVersion) || !tudo bem? end |
#wire_versions ➤ Intervalo
Obtenha a faixa de versões de fio suportadas para o servidor.
743 744 745 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 743 def wire_versions min_wire_version..max_wire_version end |