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'- 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
- 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.
216 217 218 219 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 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 216 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.
281 282 283 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 281 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.
297 298 299 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 297 def average_round_trip_time @average_round_trip_time end |
#config ➤ Hash (somente leitura)
Retorna o resultado real do comando hello.
284 285 286 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 284 def config @config end |
#feature ➤ Recursos (somente leitura)
Retorna recursos Os recursos do servidor.
294 295 296 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 294 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.
842 843 844 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 842 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.
833 834 835 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 833 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.
301 302 303 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 301 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.
866 867 868 869 870 871 872 873 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 866 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.
311 312 313 314 315 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 311 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.
325 326 327 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 325 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).
788 789 790 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 788 def data_Bearing? mongos? || primário? || secundário? || autônomo? end |
#election_id ➤ BSON::ObjectId
Obtenha o electionId da configuração.
473 474 475 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 473 def election_id config[ELECTION_ID] end |
#fantasma? ➤ true, false
Se este servidor é um fantasma, de acordo com a especificação do SDAM.
337 338 339 340 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 337 def ghost? tudo bem? && config['isreplicaset'] == true end |
#oculto? ➤ true, false
Retornará verdadeiro se o servidor estiver oculto.
350 351 352 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 350 def oculto? tudo bem? && !!config[Oculto] end |
#hosts ➤ Array<String>
Obtenha uma lista de todos os servidores no conjunto de réplicas.
362 363 364 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 362 def hosts @hosts ||= (config[HOSTS] || []).map { |s| s.downcase } end |
#inspecionar ➤ string
Inspecione a descrição do servidor .
374 375 376 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 374 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.
750 751 752 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 750 def is_server?(Servidor) endereço == Servidor.endereço end |
#last_write_date ➤ Hora
Obtenha o lastWriteDate do subdocumento lastWrite na configuração.
538 539 540 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 538 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.
764 765 766 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 764 def lists_server?(Servidor) Servidores.incluir?(Servidor.endereço.to_s) end |
#load_balancer? ➤ verdadeiro | false
Retorna se este servidor é um balanceador de carga .
289 290 291 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 289 def load_balancer? @load_balancer end |
#logical_session_timeout ⇒ Integer?
Obtenha o logicalSessionTimeoutMinutes da configuração.
550 551 552 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 550 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 .
386 387 388 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 386 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.
398 399 400 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 398 def config[MAX_MSSAGE_BYTES] end |
#max_wire_version ⇒ Integer
Obtenha a versão máxima do fio. O padrão é zero.
422 423 424 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 422 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.
410 411 412 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 410 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.
449 450 451 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 449 def eu config[eu] end |
#me_mismatch? ➤ true, false
Verifique se há uma incompatibilidade entre o host de endereço e o campo me .
800 801 802 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 800 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.
434 435 436 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 434 def min_wire_version config[MIN_WIRE_VERSION] || 0 end |
#mongocryptd? ➤ true, false
Se esta descrição é de um servidor mongocryptd.
808 809 810 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 808 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.
562 563 564 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 562 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.
725 726 727 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 725 def tudo bem? config[(operação)::Resultado::OK] == 1 end |
#op_time ⇒ BSON::Timestamp
optime no subdocumento lastWrite da resposta hello.
817 818 819 820 821 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 817 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.
574 575 576 577 578 579 580 581 582 583 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 574 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.
593 594 595 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 593 def passivo? tudo bem? && !!config[Passiva] end |
#passivos ➤ Array<String>
Obtenha uma lista dos servidores passivos no cluster.
605 606 607 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 605 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.
629 630 631 632 633 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 629 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.
617 618 619 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 617 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.
777 778 779 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 777 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.
644 645 646 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 644 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.
668 669 670 671 672 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 668 def secundário? tudo bem? && config['secundário'] == true && !!config['setName'] end |
#server_connection_id ➤ Objeto
845 846 847 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 845 def server_connection_id config['connectionId'] end |
#server_type ➤ Símbolo
Retorna o tipo de servidor como um símbolo.
682 683 684 685 686 687 688 689 690 691 692 693 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 682 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.
890 891 892 893 894 895 896 897 898 899 900 901 902 903 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 890 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.
656 657 658 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 656 def Servidores hosts + Árbitros + Passivos end |
#service_id ➤ nil | Objeto
Retorna A ID do serviço, se houver.
852 853 854 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 852 def service_id config['serviceId'] end |
#set_version ⇒ Integer
Obtenha o setVersion a partir da configuração.
485 486 487 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 485 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.
703 704 705 706 707 708 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 703 def autônomo? tudo bem? && config['msg'] != 'isdbgrade' && config['setName'].nada? && config['isreplicaset'] != true end |
#tags ➤ Hash
Obtenha as tags configuradas para o servidor.
461 462 463 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 461 def config[Tags] || {} end |
#topology_version ➤ TopologyVersion | nada
Retorna a versão da topologia.
490 491 492 493 494 495 496 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 490 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.
506 507 508 509 510 511 512 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 506 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.
522 523 524 525 526 527 528 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 522 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.
718 719 720 721 722 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 718 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.
737 738 739 |
# Arquivo 'lib/mongo/ servidor/description.rb', linha 737 def wire_versions min_wire_version..max_wire_version end |