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
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 driver é alterado (https://jira.mongodb.org/browse/RUBY-1805), 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'- Árbitros =
Constante para ler informações de árbitros da configuração.
'Árbitros'- OCULTO =
Constante para ler informações ocultas da configuração.
'escondida'- HOSTS =
Constante para ler informações de hosts da configuração.
'hosts'- MESSAGE =
Obsoleto.
Constante para a chave para o valor da mensagem.
'mensagem'- MONGOS_MSSAGE =
Obsoleto.
Constante para a mensagem que indica um cluster fragmentado.
'isdbgrade'- REPLICA_SET =
Obsoleto.
Constante para determinar servidores fantasma.
'isreplicaset'- MAX_BSON_OBJECT_SIZE =
Constante para ler informações de tamanho máximo de BSON da configuração.
'maxBsonObjectSize'- MAX_MSSAGE_BYTES =
Constante para ler informações de tamanho máximo de mensagem de config.
'maxMessageSizeBytes'- MAX_WIRE_VERSION =
Constante para a versão máxima do fio.
'maxWireVersion'- MIN_WIRE_VERSION =
Constante para a versão mínima do fio.
'minWireVersion'- MAX_WRITE_BATCH_SIZE =
Constante para ler o tamanho máximo do lote de gravação.
'maxWriteBatchSize'- LAST_WRITE =
Constante para o subdocumento lastWrite.
'lastWrite'- LAST_WRITE_DATE =
Constante para o campo lastWriteDate no subdocumento lastWrite.
'lastWriteDate'- eu =
Constante para ler o campo me .
'eu'- DEFAULT_MAX_WRITE_BATCH_SIZE =
Tamanho máximo do lote de gravação padrão.
1000- LGACY_WIRE_VERSION =
Obsoleto.
Será removido em 3.0.
A versão legado do protocolo de conexão .
0- Passiva =
Constante para ler informações passivas da configuração.
'Passiva'- Passivos =
Constante para ler a lista de servidor passivos.
'Passivos'- PRIMARY =
Obsoleto.
Constante para ler informações primárias da configuração.
'isMaster'- PRIMARY_HOST =
Constante para ler o campo de host primário da configuração.
'Principal'- SECUNDÁRIO =
Obsoleto.
Constante para ler informações secundárias da configuração.
'secundário'- set_name =
Constante para ler informações de nome do conjunto de réplicas da configuração.
'nome do conjunto'- TAGS =
Constante para ler informações de tags da configuração.
'tags'- ELECTION_ID =
Constante para ler informações electionId da configuração.
'electionId'- set_VERSION =
Constante para ler informações setVersion da configuração.
'setVersion'- LOCAL_TIME =
Constante para ler informações de localTime da configuração.
'hora local'- Operation_time =
Constante para ler informações de operationTime da configuração.
'tempo de operação'- LOGical_SESSION_TIMEOUT_MINUSES =
Constante para ler informações logicalSessionTimeoutMinutes de config.
'logicalSessionTimeoutMinutes'- 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.
'ID de conexão'- IS_WRITABLE_PRIMARY =
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 o sinalizador primário moderno da configuração.
'isWritablePrimary'- HELLO_OK =
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 o sinalizador de funcionalidade helloOk da configuração.
'helloOk'- EXCLUDE_FOR_COMPARISON =
Campos a serem excluídos ao comparar duas descrições.
As chaves PRIMÁRIO (legado
ismaster), IS_WRITABLE_PRIMÁRIO (modernohello) e HELLO_OK são excluídas porque o driver faz uma troca de protocolo legadoisMasterpara modernohelloúnica no handshake inicial (de acordo com a especificação de monitoramento do servidor SDAM). Duas respostas para a mesma função lógica diferem apenas em qual dessas chaves é preenchida. A função em si ainda é diferenciada pelo sinalizador SECUNDÁRIO e pelos metadados restantes do conjunto de réplicas. [ LOCAL_TIME, LAST_WRITE, operation_time, (operação)::CLUSTER_TIME, CONNECTION_ID, Primário, IS_WRITABLE_PRIMARY, HELLO_OK, ].congelar
- SERVER_VERSION_WIRE_VERSION_MAP =
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.
{ '8.2' => 27, '8.0' => 25, '7.0' => 21, '6.0' => 17, '5.2' => 15, '5.1' => 14, '5.0' => 12, '4.4' => 9, '4.2' => 8, }.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 .
-
#recursos ⇒ recurso
Somente leitura
Recursos Os recursos do servidor.
-
#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 que as dez últimas chamadas de hello levaram 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.
-
#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.
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 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 237 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 # 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 load_balancer && 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 Método a menos que mongo::Lint.habilitado? # preencher previamente variáveis de instância de cache hosts Árbitros Passivos topology_version congelar end |
Detalhes do atributo da instância
#endereço ➤ Endereço (somente leitura)
Retorna endereço O endereço do servidor.
302 303 304 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 302 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.
318 319 320 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 318 def average_round_trip_time @average_round_trip_time end |
#config ➤ Hash (somente leitura)
Retorna o resultado real do comando hello.
305 306 307 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 305 def config @config end |
#feature ➤ Recursos (somente leitura)
Retorna recursos Os recursos do servidor.
315 316 317 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 315 def características @features 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.
863 864 865 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 863 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.
854 855 856 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 854 def last_update_time @last_update_time end |
#minimum_round_trip_time ➤ Flutuante (somente leitura)
Retorna o tempo mínimo que as dez últimas chamadas de hello levaram para serem concluídas.
322 323 324 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 322 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.
887 888 889 890 891 892 893 894 895 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 887 def ==(Outro) Método false se auto.classe != Outro.classe Método false se desconhecido? || Outro.desconhecido? Método false se server_type != Outro.server_type (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.
332 333 334 335 336 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 332 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.
346 347 348 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 346 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).
809 810 811 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 809 def data_Bearing? mongos? || primário? || secundário? || autônomo? end |
#election_id ➤ BSON::ObjectId
Obtenha o electionId da configuração.
494 495 496 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 494 def election_id config[ELECTION_ID] end |
#fantasma? ➤ true, false
Se este servidor é um fantasma, de acordo com a especificação do SDAM.
358 359 360 361 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 358 def ghost? tudo bem? && config['isreplicaset'] == true end |
#oculto? ➤ true, false
Retornará verdadeiro se o servidor estiver oculto.
371 372 373 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 371 def oculto? tudo bem? && !!config[Oculto] end |
#hosts ➤ Array<String>
Obtenha uma lista de todos os servidores no conjunto de réplicas.
383 384 385 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 383 def hosts @hosts ||= (config[HOSTS] || []).map { |s| s.downcase } end |
#inspecionar ➤ string
Inspecione a descrição do servidor .
395 396 397 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 395 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.
771 772 773 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 771 def is_server?(Servidor) endereço == Servidor.endereço end |
#last_write_date ➤ Hora
Obtenha o lastWriteDate do subdocumento lastWrite na configuração.
559 560 561 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 559 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.
785 786 787 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 785 def lists_server?(Servidor) Servidores.incluir?(Servidor.endereço.to_s) end |
#load_balancer? ➤ verdadeiro | false
Retorna se este servidor é um balanceador de carga .
310 311 312 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 310 def load_balancer? @load_balancer end |
#logical_session_timeout ⇒ Integer?
Obtenha o logicalSessionTimeoutMinutes da configuração.
571 572 573 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 571 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 .
407 408 409 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 407 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.
419 420 421 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 419 def config[MAX_MSSAGE_BYTES] end |
#max_wire_version ⇒ Integer
Obtenha a versão máxima do fio. O padrão é zero.
443 444 445 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 443 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.
431 432 433 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 431 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 nó do RS, mas não um primário).
Obtenha o valor do campo me.
470 471 472 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 470 def eu config[eu] end |
#me_mismatch? ➤ true, false
Verifique se há uma incompatibilidade entre o host de endereço e o campo me .
821 822 823 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 821 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.
455 456 457 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 455 def min_wire_version config[MIN_WIRE_VERSION] || 0 end |
#mongocryptd? ➤ true, false
Se esta descrição é de um servidor mongocryptd.
829 830 831 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 829 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.
583 584 585 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 583 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.
746 747 748 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 746 def tudo bem? config[(operação)::Resultado::OK] == 1 end |
#op_time ⇒ BSON::Timestamp
optime no subdocumento lastWrite da resposta hello.
838 839 840 841 842 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 838 def op_time Método a menos que config['lastWrite'] && config['lastWrite']['optime'] config['lastWrite']['optime']['ts'] end |
#outro? ➤ true, false
Retorna se o servidor é outro, de acordo com a especificação do SDAM.
595 596 597 598 599 600 601 602 603 604 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 595 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.
614 615 616 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 614 def passivo? tudo bem? && !!config[Passiva] end |
#passivos ➤ Array<String>
Obtenha uma lista dos servidores passivos no cluster.
626 627 628 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 626 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.
650 651 652 653 654 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 650 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.
638 639 640 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 638 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.
798 799 800 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 798 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.
665 666 667 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 665 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.
689 690 691 692 693 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 689 def secundário? tudo bem? && config['secundário'] == true && !!config['setName'] end |
#server_connection_id ➤ Objeto
866 867 868 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 866 def server_connection_id config['connectionId'] end |
#server_type ➤ Símbolo
Retorna o tipo de servidor como um símbolo.
703 704 705 706 707 708 709 710 711 712 713 714 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 703 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.
912 913 914 915 916 917 918 919 920 921 922 923 924 925 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 912 def server_version_gte?(Versão) 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 = SERVER_VERSION_WIRE_VERSION_MAP[Versão] aumentar NotImplementedError, "Versão de servidor inesperada #{version.inspect}" a menos que require_wv require_wv <= max_wire_version end |
#servidores ➤ Array<String>
Obtenha uma lista de todos os servidores conhecidos do cluster.
677 678 679 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 677 def Servidores hosts + Árbitros + Passivos end |
#service_id ➤ nil | Objeto
Retorna A ID do serviço, se houver.
873 874 875 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 873 def service_id config['serviceId'] end |
#set_version ⇒ Integer
Obtenha o setVersion a partir da configuração.
506 507 508 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 506 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.
724 725 726 727 728 729 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 724 def autônomo? tudo bem? && config['msg'] != 'isdbgrade' && config['setName'].nada? && config['isreplicaset'] != true end |
#tags ➤ Hash
Obtenha as tags configuradas para o servidor.
482 483 484 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 482 def config[Tags] || {} end |
#topology_version ➤ TopologyVersion | nada
Retorna a versão da topologia.
511 512 513 514 515 516 517 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 511 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.
527 528 529 530 531 532 533 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 527 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.
543 544 545 546 547 548 549 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 543 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.
739 740 741 742 743 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 739 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.
758 759 760 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 758 def wire_versions min_wire_version..max_wire_version end |